mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
1b9cb5e4a2
This brings MC into line with GNU 'as' on ARM, and it brings the ARM target into line with most other LLVM targets, which declare the initial CFI state with addInitialFrameState(). Without this, functions generated with .cfi_startproc/endproc on ARM will tend to cause GDB to abort with: gdb/dwarf2-frame.c:1132: internal-error: Unknown CFA rule. I've also tested this by comparing the output of "readelf -w" on the object files produced by llvm-mc and gas when given the .s file added here. This change is part of addressing PR18636. Differential Revision: http://llvm-reviews.chandlerc.com/D2597 llvm-svn: 200255
17 lines
403 B
ArmAsm
17 lines
403 B
ArmAsm
# RUN: llvm-mc < %s -triple=armv7-linux-gnueabi -filetype=obj -o - \
|
|
# RUN: | llvm-dwarfdump - | FileCheck %s
|
|
|
|
.cfi_sections .debug_frame
|
|
.cfi_startproc
|
|
bx lr
|
|
.cfi_endproc
|
|
|
|
# CHECK: .debug_frame contents:
|
|
# CHECK: CIE
|
|
# CHECK-NOT: DW_CFA
|
|
# When llvm-dwarfdump prints the full info for the DW_CFA_def_cfa
|
|
# field, we can check that here too.
|
|
# CHECK: DW_CFA_def_cfa:
|
|
# CHECK-NOT: DW_CFA
|
|
# CHECK: FDE
|