diff --git a/lib/MC/WinCOFFStreamer.cpp b/lib/MC/WinCOFFStreamer.cpp index af313b2ff88..4989957c6ab 100644 --- a/lib/MC/WinCOFFStreamer.cpp +++ b/lib/MC/WinCOFFStreamer.cpp @@ -309,6 +309,7 @@ void WinCOFFStreamer::EmitWin64EHHandlerData() { } void WinCOFFStreamer::FinishImpl() { + EmitFrames(NULL, true); EmitW64Tables(); MCObjectStreamer::FinishImpl(); } diff --git a/test/MC/COFF/eh-frame.s b/test/MC/COFF/eh-frame.s new file mode 100644 index 00000000000..e606b764d64 --- /dev/null +++ b/test/MC/COFF/eh-frame.s @@ -0,0 +1,14 @@ +// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s -o - | llvm-readobj -s | FileCheck %s + + .def _main; + .scl 2; + .type 32; + .endef + .text + .globl _main +_main: + .cfi_startproc + ret + .cfi_endproc + +// CHECK: Name: .eh_frame