Previously, parsing capability of the .debug_frame section was added

to lib/DebugInfo, with dumping in llvm-dwarfdump. This patch adds
initial ability to parse and dump CFA instructions contained in
entries.

To keep it manageable, the patch omits some more advanced capabilities
(accounted in TODOs):

* Parsing of instructions with BLOCK arguments (expression lists)
* Dumping of actual instruction arguments (currently only names are
dumped). This is quite tricky since the dumper has to effectively
"interpret" the instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175820 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eli Bendersky
2013-02-21 22:53:19 +00:00
parent 0711d46a72
commit 7bf3d6a043
3 changed files with 184 additions and 6 deletions

View File

@@ -6,9 +6,22 @@
; FRAMES: 00000000 00000010 ffffffff CIE
; FRAMES: Version: 1
; FRAMES: DW_CFA_def_cfa
; FRAMES-NEXT: DW_CFA_offset
; FRAMES-NEXT: DW_CFA_nop
; FRAMES-NEXT: DW_CFA_nop
; FRAMES: 00000014 00000010 00000000 FDE cie=00000000 pc=00000000...00000022
; FRAMES: DW_CFA_advance_loc
; FRAMES-NEXT: DW_CFA_def_cfa_offset
; FRAMES-NEXT: DW_CFA_nop
; FRAMES: 00000028 00000014 00000000 FDE cie=00000000 pc=00000030...00000080
; FRAMES: DW_CFA_advance_loc
; FRAMES-NEXT: DW_CFA_def_cfa_offset
; FRAMES-NEXT: DW_CFA_offset
; FRAMES-NEXT: DW_CFA_advance_loc
; FRAMES-NEXT: DW_CFA_def_cfa_register
; FRAMES-NOT: CIE
; FRAMES-NOT: FDE