diff options
author | Manman Ren <manman.ren@gmail.com> | 2013-10-29 23:14:15 +0000 |
---|---|---|
committer | Manman Ren <manman.ren@gmail.com> | 2013-10-29 23:14:15 +0000 |
commit | 38856f8bed12da9459a3eb958a1c8df68bf0aced (patch) | |
tree | c343ad2b7beee2277880b14948932165dd74af14 /lib/CodeGen/AsmPrinter | |
parent | 3eabc2adb7387c97da547e250997ed0a8d5e6d3d (diff) | |
download | external_llvm-38856f8bed12da9459a3eb958a1c8df68bf0aced.tar.gz external_llvm-38856f8bed12da9459a3eb958a1c8df68bf0aced.tar.bz2 external_llvm-38856f8bed12da9459a3eb958a1c8df68bf0aced.zip |
Debug Info: code clean up.
Use EmitLabelOffsetDifference for handling on darwin platform when
non-darwin platforms use EmitLabelPlusOffset.
Also fix a bug in EmitLabelOffsetDifference where the size is hard-coded
to 4 even though Size is passed in as an argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193660 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter')
-rw-r--r-- | lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 4 | ||||
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 37df93693e..41d83beb5f 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1423,12 +1423,12 @@ void AsmPrinter::EmitLabelOffsetDifference(const MCSymbol *Hi, uint64_t Offset, OutContext); if (!MAI->hasSetDirective()) - OutStreamer.EmitValue(Diff, 4); + OutStreamer.EmitValue(Diff, Size); else { // Otherwise, emit with .set (aka assignment). MCSymbol *SetLabel = GetTempSymbol("set", SetCounter++); OutStreamer.EmitAssignment(SetLabel, Diff); - OutStreamer.EmitSymbolValue(SetLabel, 4); + OutStreamer.EmitSymbolValue(SetLabel, Size); } } diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 722dd32d7e..6713df8bc4 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2082,7 +2082,9 @@ void DwarfDebug::emitDIE(DIE *Die, std::vector<DIEAbbrev *> *Abbrevs) { Asm->EmitLabelPlusOffset(DwarfInfoSectionSym, Addr, DIEEntry::getRefAddrSize(Asm)); else - Asm->OutStreamer.EmitIntValue(Addr, DIEEntry::getRefAddrSize(Asm)); + Asm->EmitLabelOffsetDifference(DwarfInfoSectionSym, Addr, + DwarfInfoSectionSym, + DIEEntry::getRefAddrSize(Asm)); } else { Asm->EmitInt32(Addr); } |