diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 58ca15da42c..602145bbddd 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2487,7 +2487,8 @@ void DwarfDebug::emitEndOfLineMatrix(unsigned SectionEnd) { Asm->EmitInt8(0); EOL("Extended Op"); Asm->EmitInt8(TD->getPointerSize() + 1); EOL("Op size"); Asm->EmitInt8(dwarf::DW_LNE_set_address); EOL("DW_LNE_set_address"); - EmitReference("section_end", SectionEnd); EOL("Section end label"); + EmitReference(getDWLabel("section_end", SectionEnd)); + EOL("Section end label"); // Mark end of matrix. Asm->EmitInt8(0); EOL("DW_LNE_end_sequence"); @@ -2608,7 +2609,7 @@ void DwarfDebug::emitDebugLines() { Asm->EmitInt8(0); EOL("Extended Op"); Asm->EmitInt8(TD->getPointerSize() + 1); EOL("Op size"); Asm->EmitInt8(dwarf::DW_LNE_set_address); EOL("DW_LNE_set_address"); - EmitReference("label", LabelID); EOL("Location label"); + EmitReference(getDWLabel("label", LabelID)); EOL("Location label"); // If change of source, then switch to the new source. if (Source != LineInfo.getSourceID()) { @@ -2718,10 +2719,10 @@ DwarfDebug::emitFunctionDebugFrame(const FunctionDebugFrameInfo&DebugFrameInfo){ getTempLabel("section_debug_frame"), true, false); EOL("FDE CIE offset"); - EmitReference("func_begin", DebugFrameInfo.Number); + EmitReference(getDWLabel("func_begin", DebugFrameInfo.Number)); EOL("FDE initial location"); - EmitDifference("func_end", DebugFrameInfo.Number, - "func_begin", DebugFrameInfo.Number); + EmitDifference(getDWLabel("func_end", DebugFrameInfo.Number), + getDWLabel("func_begin", DebugFrameInfo.Number)); EOL("FDE address range"); EmitFrameMoves("func_begin", DebugFrameInfo.Number, DebugFrameInfo.Moves, @@ -2730,7 +2731,6 @@ DwarfDebug::emitFunctionDebugFrame(const FunctionDebugFrameInfo&DebugFrameInfo){ Asm->EmitAlignment(2, 0, 0, false); Asm->OutStreamer.EmitLabel(getDWLabel("debug_frame_end", DebugFrameInfo.Number)); - Asm->O << '\n'; } /// emitDebugPubNames - Emit visible names into a debug pubnames section. diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp index a28a1dcecbc..36d85216ba4 100644 --- a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp @@ -234,19 +234,6 @@ void DwarfPrinter::PrintLabelName(const char *Tag, unsigned Number, /// EmitReference - Emit a reference to a label. /// -void DwarfPrinter::EmitReference(const char *Tag, unsigned Number, - bool IsPCRelative, bool Force32Bit) const { - PrintRelDirective(Force32Bit); - PrintLabelName(Tag, Number); - if (IsPCRelative) O << "-" << MAI->getPCSymbol(); -} -void DwarfPrinter::EmitReference(const std::string &Name, bool IsPCRelative, - bool Force32Bit) const { - PrintRelDirective(Force32Bit); - O << Name; - if (IsPCRelative) O << "-" << MAI->getPCSymbol(); -} - void DwarfPrinter::EmitReference(const MCSymbol *Sym, bool IsPCRelative, bool Force32Bit) const { PrintRelDirective(Force32Bit); diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.h b/lib/CodeGen/AsmPrinter/DwarfPrinter.h index ac400e9e1f4..316cd01fa93 100644 --- a/lib/CodeGen/AsmPrinter/DwarfPrinter.h +++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.h @@ -133,12 +133,7 @@ public: /// void EmitReference(const MCSymbol *Label, bool IsPCRelative = false, bool Force32Bit = false) const; - void EmitReference(const char *Tag, unsigned Number, - bool IsPCRelative = false, - bool Force32Bit = false) const; - void EmitReference(const std::string &Name, bool IsPCRelative = false, - bool Force32Bit = false) const; - + void EmitReference(const char *Tag, unsigned Number, unsigned Encoding) const; void EmitReference(const MCSymbol *Sym, unsigned Encoding) const; void EmitReference(const GlobalValue *GV, unsigned Encoding) const;