llvm-project/llvm/test/DebugInfo/RISCV/eh-frame.s
Greg Clayton a4b842e294 Show register names in DWARF unwind info.
Register context information was already being passed into the DWARFDebugFrame code that dumps unwind information but it wasn't being used. This change adds the ability to dump registers names of a valid MC register context was passed in and if it knows about the register. Updated the tests to use the newly returned register names.

Differential Revision: https://reviews.llvm.org/D88767
2020-10-05 15:34:33 -07:00

35 lines
1.1 KiB
ArmAsm

# RUN: llvm-mc -filetype=obj -triple=riscv32 < %s | llvm-dwarfdump -eh-frame - \
# RUN: | FileCheck --check-prefixes=CHECK,RV32 %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 < %s | llvm-dwarfdump -eh-frame - \
# RUN: | FileCheck --check-prefixes=CHECK,RV64 %s
func:
.cfi_startproc
ret
.cfi_endproc
# CHECK: 00000000 00000010 00000000 CIE
# CHECK: Version: 1
# CHECK: Augmentation: "zR"
# CHECK: Code alignment factor: 1
# TODO: gas uses -4 for the data alignment factor for both RV32 and RV64. They
# do so on the basis that on RV64F, F registers may only be 4 bytes
# (DWARF2_CIE_DATA_ALIGNMENT).
# RV32: Data alignment factor: -4
# RV64: Data alignment factor: -8
# CHECK: Return address column: 1
# Check the pointer encoding for address pointers used in FDE. This is set by
# FDECFIEncoding and should be DW_EH_PE_pcrel | DW_EH_PE_sdata4 (0x1b).
# CHECK: Augmentation data: 1B
# CHECK: DW_CFA_def_cfa: X2 +0
#
# CHECK: 00000014 00000010 00000018 FDE cie=00000000 pc=00000000...00000004
# CHECK: DW_CFA_nop:
# CHECK: DW_CFA_nop:
# CHECK: DW_CFA_nop: