The .cfi_sections .debug_frame intrinsic is used to emit .debug_frame section. This directive tells the assembler to write out a section of debug frame data. AArch64 is a platform where eh_frame is not needed for unwind information. Unfortunately, that means that even when the .cfi_sections .debug_frame intrinsic is used, the compiler skips emitting the CIE's and FDE's in the debug_frame section. This patch address that issue by making sure that the emission of CIE's and FDE's are only skipped if the unwind information does not require a debug_frame section and is a platform where the eh_frame can be skipped. Differential Revision: https://reviews.llvm.org/D147980
21 lines
439 B
ArmAsm
21 lines
439 B
ArmAsm
# RUN: llvm-mc -filetype=obj --triple=arm64-apple-darwin22.1.0 %s -o %t.o
|
|
# RUN: llvm-dwarfdump -debug-frame %t.o | FileCheck %s
|
|
|
|
# CHECK: .debug_frame contents:
|
|
# CHECK-EMPTY:
|
|
# CHECK-NEXT: {{.+}}
|
|
|
|
# CHECK: .eh_frame contents:
|
|
# CHECK-EMPTY:
|
|
# CHECK-EMPTY:
|
|
|
|
.cfi_sections .debug_frame
|
|
.cfi_startproc
|
|
.cfi_personality 0x9b, g
|
|
.cfi_lsda 0x1b, h
|
|
.cfi_endproc
|
|
.global g
|
|
g:
|
|
.global h
|
|
h:
|