diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-04-27 01:43:49 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-04-27 01:43:49 +0000 |
commit | 9266cc400ee2fc86abb24ab0819d9da280fb61c4 (patch) | |
tree | b56857f0b2d6dc89f7fbad02b95f22124c2dfdc7 /lib | |
parent | 547eb4fd560cdd77e06c88eed1722bdb94c82b26 (diff) | |
download | llvm-9266cc400ee2fc86abb24ab0819d9da280fb61c4.tar.gz llvm-9266cc400ee2fc86abb24ab0819d9da280fb61c4.tar.bz2 llvm-9266cc400ee2fc86abb24ab0819d9da280fb61c4.tar.xz |
Force some values to be absolute and align based on the FDE pointers size. A small
step towards using .cfi_* on OS X.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130273 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MC/MCDwarf.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/MC/MCDwarf.cpp b/lib/MC/MCDwarf.cpp index 243da6119f..566c090feb 100644 --- a/lib/MC/MCDwarf.cpp +++ b/lib/MC/MCDwarf.cpp @@ -622,14 +622,14 @@ const MCSymbol &FrameEmitterImpl::EmitCIE(MCStreamer &streamer, const TargetAsmInfo &asmInfo = context.getTargetAsmInfo(); const MCSection §ion = *asmInfo.getEHFrameSection(); streamer.SwitchSection(§ion); - MCSymbol *sectionStart = streamer.getContext().CreateTempSymbol(); + MCSymbol *sectionStart = context.CreateTempSymbol(); MCSymbol *sectionEnd = streamer.getContext().CreateTempSymbol(); // Length const MCExpr *Length = MakeStartMinusEndExpr(streamer, *sectionStart, *sectionEnd, 4); streamer.EmitLabel(sectionStart); - streamer.EmitValue(Length, 4); + streamer.EmitAbsValue(Length, 4); // CIE ID streamer.EmitIntValue(0, 4); @@ -715,13 +715,13 @@ MCSymbol *FrameEmitterImpl::EmitFDE(MCStreamer &streamer, // Length const MCExpr *Length = MakeStartMinusEndExpr(streamer, *fdeStart, *fdeEnd, 0); - streamer.EmitValue(Length, 4); + streamer.EmitAbsValue(Length, 4); streamer.EmitLabel(fdeStart); // CIE Pointer const MCExpr *offset = MakeStartMinusEndExpr(streamer, cieStart, *fdeStart, 0); - streamer.EmitValue(offset, 4); + streamer.EmitAbsValue(offset, 4); unsigned fdeEncoding = asmInfo.getFDEEncoding(); unsigned size = getSizeForEncoding(streamer, fdeEncoding); @@ -731,7 +731,7 @@ MCSymbol *FrameEmitterImpl::EmitFDE(MCStreamer &streamer, // PC Range const MCExpr *Range = MakeStartMinusEndExpr(streamer, *frame.Begin, *frame.End, 0); - streamer.EmitValue(Range, size); + streamer.EmitAbsValue(Range, size); // Augmentation Data Length MCSymbol *augmentationStart = streamer.getContext().CreateTempSymbol(); @@ -751,7 +751,7 @@ MCSymbol *FrameEmitterImpl::EmitFDE(MCStreamer &streamer, EmitCFIInstructions(streamer, frame.Instructions, frame.Begin); // Padding - streamer.EmitValueToAlignment(4); + streamer.EmitValueToAlignment(size); return fdeEnd; } |