From c8fec7e21f5c24303eab8a8592f3b8faff347d86 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 23 Nov 2012 16:59:41 +0000 Subject: Implement .cfi_undefined. Based on a patch from PaX team, updated by Roman Divacky. I just added the testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168520 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/MC/MCStreamer.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/MC/MCStreamer.cpp') diff --git a/lib/MC/MCStreamer.cpp b/lib/MC/MCStreamer.cpp index afece0ba55..02e1028ada 100644 --- a/lib/MC/MCStreamer.cpp +++ b/lib/MC/MCStreamer.cpp @@ -367,6 +367,15 @@ void MCStreamer::EmitCFISignalFrame() { CurFrame->IsSignalFrame = true; } +void MCStreamer::EmitCFIUndefined(int64_t Register) { + EnsureValidFrame(); + MCDwarfFrameInfo *CurFrame = getCurrentFrameInfo(); + MCSymbol *Label = getContext().CreateTempSymbol(); + EmitLabel(Label); + MCCFIInstruction Instruction(MCCFIInstruction::Undefined, Label, Register); + CurFrame->Instructions.push_back(Instruction); +} + void MCStreamer::setCurrentW64UnwindInfo(MCWin64EHUnwindInfo *Frame) { W64UnwindInfos.push_back(Frame); CurrentW64UnwindInfo = W64UnwindInfos.back(); -- cgit v1.2.3