aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2012-01-23 21:51:52 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2012-01-23 21:51:52 +0000
commit16d7d437e03ce87fdaef7971919302920d54a966 (patch)
tree917db501075fe629e6a63083ed422f9ec9aae063 /include/llvm/MC
parente55bbfe145cf8dcb9594865f0242321d2be681d6 (diff)
downloadexternal_llvm-16d7d437e03ce87fdaef7971919302920d54a966.zip
external_llvm-16d7d437e03ce87fdaef7971919302920d54a966.tar.gz
external_llvm-16d7d437e03ce87fdaef7971919302920d54a966.tar.bz2
Add support for .cfi_signal_frame. Fixes pr11762.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148733 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC')
-rw-r--r--include/llvm/MC/MCDwarf.h4
-rw-r--r--include/llvm/MC/MCStreamer.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/include/llvm/MC/MCDwarf.h b/include/llvm/MC/MCDwarf.h
index 9e477cb..1a56a90 100644
--- a/include/llvm/MC/MCDwarf.h
+++ b/include/llvm/MC/MCDwarf.h
@@ -312,7 +312,8 @@ namespace llvm {
struct MCDwarfFrameInfo {
MCDwarfFrameInfo() : Begin(0), End(0), Personality(0), Lsda(0),
Function(0), Instructions(), PersonalityEncoding(),
- LsdaEncoding(0), CompactUnwindEncoding(0) {}
+ LsdaEncoding(0), CompactUnwindEncoding(0),
+ IsSignalFrame(false) {}
MCSymbol *Begin;
MCSymbol *End;
const MCSymbol *Personality;
@@ -322,6 +323,7 @@ namespace llvm {
unsigned PersonalityEncoding;
unsigned LsdaEncoding;
uint32_t CompactUnwindEncoding;
+ bool IsSignalFrame;
};
class MCDwarfFrameEmitter {
diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h
index 54ffda6..31fb6d4 100644
--- a/include/llvm/MC/MCStreamer.h
+++ b/include/llvm/MC/MCStreamer.h
@@ -555,6 +555,7 @@ namespace llvm {
virtual void EmitCFIRelOffset(int64_t Register, int64_t Offset);
virtual void EmitCFIAdjustCfaOffset(int64_t Adjustment);
virtual void EmitCFIEscape(StringRef Values);
+ virtual void EmitCFISignalFrame();
virtual void EmitWin64EHStartProc(const MCSymbol *Symbol);
virtual void EmitWin64EHEndProc();