mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221076 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
da53f1e088
commit
d998d1cc56
@ -144,22 +144,6 @@ public:
|
||||
|
||||
void collectDeadVariables(DISubprogram SP);
|
||||
|
||||
/// If there's a skeleton then return the begin label for the skeleton unit,
|
||||
/// otherwise return the local label for this unit.
|
||||
MCSymbol *getLocalLabelBegin() const {
|
||||
if (Skeleton)
|
||||
return Skeleton->getLabelBegin();
|
||||
return getLabelBegin();
|
||||
}
|
||||
|
||||
/// If there's a skeleton then return the section symbol for the skeleton
|
||||
/// unit, otherwise return the section symbol for this unit.
|
||||
MCSymbol *getLocalSectionSym() const {
|
||||
if (Skeleton)
|
||||
return Skeleton->getSectionSym();
|
||||
return getSectionSym();
|
||||
}
|
||||
|
||||
/// Set the skeleton unit associated with this unit.
|
||||
void setSkeleton(DwarfCompileUnit &Skel) { Skeleton = &Skel; }
|
||||
|
||||
|
@ -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)");
|
||||
|
Loading…
Reference in New Issue
Block a user