mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
158da0d39f
This patch makes the `.eh_frame` extension an alias for `.debug_frame`. Up till now it was only possible to dump the section using objdump, but not with dwarfdump. Since the two are essentially interchangeable, we dump whichever of the two is present. As a workaround, this patch also adds parsing for 3 currently unimplemented CFA instructions: `DW_CFA_def_cfa_expression`, `DW_CFA_expression`, and `DW_CFA_val_expression`. Because I lack the required knowledge, I just parse the fields without actually creating the instructions. Finally, this also fixes the typo in the `.debug_frame` section name which incorrectly contained a trailing `s`. Differential revision: https://reviews.llvm.org/D37852 llvm-svn: 313530
28 lines
920 B
Plaintext
28 lines
920 B
Plaintext
; RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-32bit.elf.o --debug-frame | FileCheck %s -check-prefix FRAMES
|
|
; Note: the input file was generated from Inputs/dwarfdump-test-32bit.elf.c
|
|
|
|
; FRAMES: .debug_frame
|
|
|
|
; FRAMES: 00000000 00000010 ffffffff CIE
|
|
; FRAMES: Version: 1
|
|
; FRAMES: DW_CFA_def_cfa: reg4 +4
|
|
; FRAMES-NEXT: DW_CFA_offset: reg8 -4
|
|
; 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: 3
|
|
; FRAMES-NEXT: DW_CFA_def_cfa_offset: +12
|
|
; FRAMES-NEXT: DW_CFA_nop:
|
|
|
|
; FRAMES: 00000028 00000014 00000000 FDE cie=00000000 pc=00000030...00000080
|
|
; FRAMES: DW_CFA_advance_loc: 1
|
|
; FRAMES-NEXT: DW_CFA_def_cfa_offset: +8
|
|
; FRAMES-NEXT: DW_CFA_offset: reg5 -8
|
|
; FRAMES-NEXT: DW_CFA_advance_loc: 2
|
|
; FRAMES-NEXT: DW_CFA_def_cfa_register: reg5
|
|
|
|
; FRAMES-NOT: CIE
|
|
; FRAMES-NOT: FDE
|
|
; FRAMES: .eh_frame
|