diff options
Diffstat (limited to 'llvm/lib/MC/MCDwarf.cpp')
| -rw-r--r-- | llvm/lib/MC/MCDwarf.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp index 7f72d062b7ac..f86d4266a1eb 100644 --- a/llvm/lib/MC/MCDwarf.cpp +++ b/llvm/lib/MC/MCDwarf.cpp @@ -46,10 +46,8 @@ using namespace llvm; MCSymbol *mcdwarf::emitListsTableHeaderStart(MCStreamer &S) { - MCSymbol *Start = - S.getContext().createTempSymbol("debug_list_header_start", true, true); - MCSymbol *End = - S.getContext().createTempSymbol("debug_list_header_end", true, true); + MCSymbol *Start = S.getContext().createTempSymbol("debug_list_header_start"); + MCSymbol *End = S.getContext().createTempSymbol("debug_list_header_end"); auto DwarfFormat = S.getContext().getDwarfFormat(); if (DwarfFormat == dwarf::DWARF64) { S.AddComment("DWARF64 mark"); @@ -768,11 +766,10 @@ void MCDwarfLineAddr::Encode(MCContext &Context, MCDwarfLineTableParams Params, } } -bool MCDwarfLineAddr::FixedEncode(MCContext &Context, - MCDwarfLineTableParams Params, - int64_t LineDelta, uint64_t AddrDelta, - raw_ostream &OS, - uint32_t *Offset, uint32_t *Size) { +std::tuple<uint32_t, uint32_t, bool> +MCDwarfLineAddr::fixedEncode(MCContext &Context, int64_t LineDelta, + uint64_t AddrDelta, raw_ostream &OS) { + uint32_t Offset, Size; if (LineDelta != INT64_MAX) { OS << char(dwarf::DW_LNS_advance_line); encodeSLEB128(LineDelta, OS); @@ -792,15 +789,15 @@ bool MCDwarfLineAddr::FixedEncode(MCContext &Context, encodeULEB128(1 + AddrSize, OS); OS << char(dwarf::DW_LNE_set_address); // Generate fixup for the address. - *Offset = OS.tell(); - *Size = AddrSize; + Offset = OS.tell(); + Size = AddrSize; SetDelta = false; OS.write_zeros(AddrSize); } else { OS << char(dwarf::DW_LNS_fixed_advance_pc); // Generate fixup for 2-bytes address delta. - *Offset = OS.tell(); - *Size = 2; + Offset = OS.tell(); + Size = 2; SetDelta = true; OS << char(0); OS << char(0); @@ -814,7 +811,7 @@ bool MCDwarfLineAddr::FixedEncode(MCContext &Context, OS << char(dwarf::DW_LNS_copy); } - return SetDelta; + return std::make_tuple(Offset, Size, SetDelta); } // Utility function to write a tuple for .debug_abbrev. @@ -1140,7 +1137,7 @@ static MCSymbol *emitGenDwarfRanges(MCStreamer *MCOS) { MCSymbol *EndSymbol = mcdwarf::emitListsTableHeaderStart(*MCOS); MCOS->AddComment("Offset entry count"); MCOS->emitInt32(0); - RangesSymbol = context.createTempSymbol("debug_rnglist0_start", true, true); + RangesSymbol = context.createTempSymbol("debug_rnglist0_start"); MCOS->emitLabel(RangesSymbol); for (MCSection *Sec : Sections) { const MCSymbol *StartSymbol = Sec->getBeginSymbol(); @@ -1157,7 +1154,7 @@ static MCSymbol *emitGenDwarfRanges(MCStreamer *MCOS) { MCOS->emitLabel(EndSymbol); } else { MCOS->SwitchSection(context.getObjectFileInfo()->getDwarfRangesSection()); - RangesSymbol = context.createTempSymbol("debug_ranges_start", true, true); + RangesSymbol = context.createTempSymbol("debug_ranges_start"); MCOS->emitLabel(RangesSymbol); for (MCSection *Sec : Sections) { const MCSymbol *StartSymbol = Sec->getBeginSymbol(); |
