[llvm] d2cbdb6 - Emit unwind information in the .debug_frame section when the .cfi_sections .debug_frame directive is used.
Shubham Sandeep Rastogi via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 14 17:04:22 PST 2022
Author: Shubham Sandeep Rastogi
Date: 2022-12-14T17:03:42-08:00
New Revision: d2cbdb6bef31bdc3254daf57148225ea4b34520c
URL: https://github.com/llvm/llvm-project/commit/d2cbdb6bef31bdc3254daf57148225ea4b34520c
DIFF: https://github.com/llvm/llvm-project/commit/d2cbdb6bef31bdc3254daf57148225ea4b34520c.diff
LOG: Emit unwind information in the .debug_frame section when the .cfi_sections .debug_frame directive is used.
Differential Revision: https://reviews.llvm.org/D139663
Added:
llvm/test/DebugInfo/AArch64/debugframeinfo.s
Modified:
llvm/lib/MC/MCDwarf.cpp
Removed:
################################################################################
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp
index a3ecebbfa0385..7d7e790a254cf 100644
--- a/llvm/lib/MC/MCDwarf.cpp
+++ b/llvm/lib/MC/MCDwarf.cpp
@@ -1860,7 +1860,7 @@ void MCDwarfFrameEmitter::Emit(MCObjectStreamer &Streamer, MCAsmBackend *MAB,
// Emit the compact unwind info if available.
bool NeedsEHFrameSection = !MOFI->getSupportsCompactUnwindWithoutEHFrame();
- if (IsEH && MOFI->getCompactUnwindSection()) {
+ if (MOFI->getCompactUnwindSection()) {
Streamer.generateCompactUnwindEncodings(MAB);
bool SectionEmitted = false;
for (const MCDwarfFrameInfo &Frame : FrameArray) {
diff --git a/llvm/test/DebugInfo/AArch64/debugframeinfo.s b/llvm/test/DebugInfo/AArch64/debugframeinfo.s
new file mode 100644
index 0000000000000..02b95ee576577
--- /dev/null
+++ b/llvm/test/DebugInfo/AArch64/debugframeinfo.s
@@ -0,0 +1,14 @@
+# 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: 00000000 00000014 ffffffff CIE
+# CHECK: .eh_frame contents:
+# CHECK-EMPTY:
+
+ .cfi_startproc
+ .cfi_signal_frame
+ .cfi_def_cfa x28, 0x340
+ .cfi_endproc
+ .cfi_sections .debug_frame
More information about the llvm-commits
mailing list