aboutsummaryrefslogtreecommitdiff
path: root/lib/MC/MCDwarf.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-12-06 14:53:14 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-12-06 14:53:14 +0000
commit2303c9dd69476d045af7cee94e112dd77d22fd28 (patch)
tree375625044ce3d1b57ac71a67d0f78d2a9c0073c9 /lib/MC/MCDwarf.cpp
parent03a83a3f41c4763974b6d9d9aff852c9611db44f (diff)
Add an EmitAbsValue helper method and use it in cases where we want to be sure
that no relocations are used (on MochO). Fixes llc producing different output from llc + llvm-mc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121000 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCDwarf.cpp')
-rw-r--r--lib/MC/MCDwarf.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/lib/MC/MCDwarf.cpp b/lib/MC/MCDwarf.cpp
index 53731dca7e..5d36ee3e62 100644
--- a/lib/MC/MCDwarf.cpp
+++ b/lib/MC/MCDwarf.cpp
@@ -213,15 +213,8 @@ void MCDwarfFileTable::Emit(MCStreamer *MCOS,
// The first 4 bytes is the total length of the information for this
// compilation unit (not including these 4 bytes for the length).
- // FIXME: We create the dummy TotalLength variable because LineEndSym points
- // to the end of the section and the darwin assembler doesn't consider that
- // difference an assembly time constant. It might be better for this to be
- // proected by a flag.
- MCSymbol *TotalLength = MCOS->getContext().CreateTempSymbol();
- MCOS->EmitAssignment(TotalLength,
- MakeStartMinusEndExpr(MCOS, LineStartSym, LineEndSym,
- 4));
- MCOS->EmitSymbolValue(TotalLength, 4, 0);
+ MCOS->EmitAbsValue(MakeStartMinusEndExpr(MCOS, LineStartSym, LineEndSym,4),
+ 4);
// Next 2 bytes is the Version, which is Dwarf 2.
MCOS->EmitIntValue(2, 2);