diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-11-02 01:21:43 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-11-02 01:21:43 +0000 |
commit | 27e35f23029a6ae29fbd543776e0189dbee81811 (patch) | |
tree | f7a4137c4d0ed9520b7510d8f14978d2dc9e41d6 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | |
parent | f4bdc31271977a9feaed4eb0d5aa413fbd2447ca (diff) | |
download | bcm5719-llvm-27e35f23029a6ae29fbd543776e0189dbee81811.tar.gz bcm5719-llvm-27e35f23029a6ae29fbd543776e0189dbee81811.zip |
Drop DwarfCompileUnit::getLocalLabel* in favor of just mapping through the skeleton explicitly.
Confusing to do this two different ways - I'm not too wedded to either
one, but here goes.
llvm-svn: 221076
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index ce59debe235..5dbaa4d1f27 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1920,6 +1920,10 @@ void DwarfDebug::emitDebugARanges() { for (DwarfCompileUnit *CU : CUs) { std::vector<ArangeSpan> &List = Spans[CU]; + // Describe the skeleton CU's offset and length, not the dwo file's. + if (auto *Skel = CU->getSkeleton()) + CU = Skel; + // Emit size of content not including length itself. unsigned ContentSize = sizeof(int16_t) + // DWARF ARange version number @@ -1942,7 +1946,7 @@ void DwarfDebug::emitDebugARanges() { Asm->OutStreamer.AddComment("DWARF Arange version number"); Asm->EmitInt16(dwarf::DW_ARANGES_VERSION); Asm->OutStreamer.AddComment("Offset Into Debug Info Section"); - Asm->EmitSectionOffset(CU->getLocalLabelBegin(), CU->getLocalSectionSym()); + Asm->EmitSectionOffset(CU->getLabelBegin(), CU->getSectionSym()); Asm->OutStreamer.AddComment("Address Size (in bytes)"); Asm->EmitInt8(PtrSize); Asm->OutStreamer.AddComment("Segment Size (in bytes)"); |