1# RUN: llvm-mc -filetype=obj -triple=riscv32 < %s | llvm-dwarfdump -eh-frame - \ 2# RUN: | FileCheck --check-prefixes=CHECK,RV32 %s 3# RUN: llvm-mc -filetype=obj -triple=riscv64 < %s | llvm-dwarfdump -eh-frame - \ 4# RUN: | FileCheck --check-prefixes=CHECK,RV64 %s 5 6func: 7 .cfi_startproc 8 ret 9 .cfi_endproc 10 11# CHECK: 00000000 00000010 00000000 CIE 12# CHECK: Version: 1 13# CHECK: Augmentation: "zR" 14# CHECK: Code alignment factor: 1 15 16# TODO: gas uses -4 for the data alignment factor for both RV32 and RV64. They 17# do so on the basis that on RV64F, F registers may only be 4 bytes 18# (DWARF2_CIE_DATA_ALIGNMENT). 19 20# RV32: Data alignment factor: -4 21# RV64: Data alignment factor: -8 22 23# CHECK: Return address column: 1 24 25# Check the pointer encoding for address pointers used in FDE. This is set by 26# FDECFIEncoding and should be DW_EH_PE_pcrel | DW_EH_PE_sdata4 (0x1b). 27 28# CHECK: Augmentation data: 1B 29# CHECK: DW_CFA_def_cfa: X2 +0 30# 31# CHECK: 00000014 00000010 00000018 FDE cie=00000000 pc=00000000...00000004 32# CHECK: DW_CFA_nop: 33# CHECK: DW_CFA_nop: 34# CHECK: DW_CFA_nop: 35