aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-06-30 00:30:52 +0000
committerBill Wendling <isanbard@gmail.com>2011-06-30 00:30:52 +0000
commit9287a6eef336585628a55e1f33e1e3ea9d7f81cf (patch)
tree94a17843b466c0797ccbb0b7c7ef9cd02060d88b /lib
parent4498d39680abe3970dc84dca973aff46d0f9039b (diff)
downloadexternal_llvm-9287a6eef336585628a55e1f33e1e3ea9d7f81cf.zip
external_llvm-9287a6eef336585628a55e1f33e1e3ea9d7f81cf.tar.gz
external_llvm-9287a6eef336585628a55e1f33e1e3ea9d7f81cf.tar.bz2
* Use the proper size to output the range size.
* Rough in the compact encoding part. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134119 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-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 d4a2234..fd55cc0 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);