aboutsummaryrefslogtreecommitdiff
path: root/lib/MC/MCAsmStreamer.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-12-27 00:36:05 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-12-27 00:36:05 +0000
commit3a83c40ab61d5ca624f2bbadd70237c6adbdb304 (patch)
treef0e3c71d1852277f7ed6d945f96c8493bc395101 /lib/MC/MCAsmStreamer.cpp
parentdef548f9a0efa6e997a68ac2d77cb0ef574b7d43 (diff)
Add support for the same encodings of the personality function that gnu as
supports. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122577 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCAsmStreamer.cpp')
-rw-r--r--lib/MC/MCAsmStreamer.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index a171ba120b..ee1342937f 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -189,7 +189,7 @@ public:
virtual bool EmitCFIDefCfaOffset(int64_t Offset);
virtual bool EmitCFIDefCfaRegister(int64_t Register);
virtual bool EmitCFIOffset(int64_t Register, int64_t Offset);
- virtual bool EmitCFIPersonality(const MCSymbol *Sym);
+ virtual bool EmitCFIPersonality(const MCSymbol *Sym, unsigned Encoding);
virtual bool EmitCFILsda(const MCSymbol *Sym);
virtual void EmitInstruction(const MCInst &Inst);
@@ -758,11 +758,12 @@ bool MCAsmStreamer::EmitCFIOffset(int64_t Register, int64_t Offset) {
return false;
}
-bool MCAsmStreamer::EmitCFIPersonality(const MCSymbol *Sym) {
- if (this->MCStreamer::EmitCFIPersonality(Sym))
+bool MCAsmStreamer::EmitCFIPersonality(const MCSymbol *Sym,
+ unsigned Encoding) {
+ if (this->MCStreamer::EmitCFIPersonality(Sym, Encoding))
return true;
- OS << ".cfi_personality 0, " << *Sym;
+ OS << ".cfi_personality " << Encoding << ", " << *Sym;
EmitEOL();
return false;