diff options
author | Pete Cooper <peter_cooper@apple.com> | 2015-12-18 18:51:08 +0000 |
---|---|---|
committer | Pete Cooper <peter_cooper@apple.com> | 2015-12-18 18:51:08 +0000 |
commit | 3c9c3bf29125d42c1d6aeda4076ecc11aefd7a9a (patch) | |
tree | b7455ffbc39492e316e8fef5c3da6a1d9c8fce18 /test | |
parent | 4aba1843f2bbb421d8c4018be67b234019d72a2f (diff) |
Improve DWARFDebugFrame::parse to also handle __eh_frame.
LLVM MC has single methods which can handle the output of EH frame and DWARF CIE's and FDE's.
This code improves DWARFDebugFrame::parse to do the same for parsing.
This also allows llvm-objdump to support the --dwarf=frames option which objdump supports. This
option dumps the .eh_frame section using the new code in DWARFDebugFrame::parse.
http://reviews.llvm.org/D15535
Reviewed by Rafael Espindola.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256008 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/tools/llvm-objdump/eh_frame-arm64.test | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/test/tools/llvm-objdump/eh_frame-arm64.test b/test/tools/llvm-objdump/eh_frame-arm64.test index f25e035a266..adfd4cc4f26 100644 --- a/test/tools/llvm-objdump/eh_frame-arm64.test +++ b/test/tools/llvm-objdump/eh_frame-arm64.test @@ -1,23 +1,23 @@ -# RUN: llvm-objdump -unwind-info %p/Inputs/eh_frame.macho-arm64 2>/dev/null | FileCheck %s +# RUN: llvm-objdump -dwarf=frames %p/Inputs/eh_frame.macho-arm64 2>/dev/null | FileCheck %s -# CHECK: Contents of __eh_frame section: -# CHECK: CIE: -# CHECK: Length: 16 -# CHECK: CIE ID: 0 -# CHECK: Version: 1 -# CHECK: Augmentation String: zR -# CHECK: Code Alignment Factor: 1 -# CHECK: Data Alignment Factor: -8 -# CHECK: Return Address Register: 30 -# CHECK: Augmentation Data Length: 1 -# CHECK: FDE Address Pointer Encoding: 16 -# CHECK: Instructions: -# CHECK: 0c 1f 00 -# CHECK: FDE: -# CHECK: Length: 32 -# CHECK: CIE Offset: 0 -# CHECK: PC Begin: ffffffffffffffe4 -# CHECK: PC Range: 0000000000000020 -# CHECK: Augmentation Data Length: 0 -# CHECK: Instructions: -# CHECK: 48 0e 10 9e 01 9d 02 00 00 00 00 +# CHECK: .eh_frame contents: + +# CHECK: 00000000 00000010 ffffffff CIE +# CHECK: Version: 1 +# CHECK: Augmentation: "zR" +# CHECK: Code alignment factor: 1 +# CHECK: Data alignment factor: -8 +# CHECK: Return address column: 30 +# CHECK: Augmentation data: + +# CHECK: DW_CFA_def_cfa: reg31 +0 + +# CHECK: 00000014 00000020 00000018 FDE cie=00000018 pc=ffffffe4...00000004 +# CHECK: DW_CFA_advance_loc: 8 +# CHECK: DW_CFA_def_cfa_offset: +16 +# CHECK: DW_CFA_offset: reg30 -8 +# CHECK: DW_CFA_offset: reg29 -16 +# CHECK: DW_CFA_nop: +# CHECK: DW_CFA_nop: +# CHECK: DW_CFA_nop: +# CHECK: DW_CFA_nop: |