aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/MC/MCDwarf.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/MC/MCDwarf.cpp b/lib/MC/MCDwarf.cpp
index d4a2234433..fd55cc062d 100644
--- a/lib/MC/MCDwarf.cpp
+++ b/lib/MC/MCDwarf.cpp
@@ -667,7 +667,14 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer,
// Range Length
const MCExpr *Range = MakeStartMinusEndExpr(Streamer, *Frame.Begin,
*Frame.End, 0);
- Streamer.EmitAbsValue(Range, Size);
+ Streamer.EmitAbsValue(Range, 4);
+
+ // FIXME:
+ // Compact Encoding
+ uint32_t Encoding = 0;
+ Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4);
+ Streamer.EmitIntValue(Encoding, Size);
+
// Personality Function
Size = getSizeForEncoding(Streamer, Frame.PersonalityEncoding);