mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-21 12:38:45 +00:00
Sink dwarf unit length emission down into DwarfUnit::emitHeader
This allows the CU label to be emitted only for compile units, as they're the only ones that need it (so they can be referenced from pubnames) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221072 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d457d52613
commit
5e8ee21fb6
@ -686,4 +686,12 @@ void DwarfCompileUnit::collectDeadVariables(DISubprogram SP) {
|
||||
}
|
||||
}
|
||||
|
||||
void DwarfCompileUnit::emitHeader(const MCSymbol *ASectionSym) const {
|
||||
// Emit the compile units header.
|
||||
Asm->OutStreamer.EmitLabel(LabelBegin);
|
||||
|
||||
DwarfUnit::emitHeader(ASectionSym);
|
||||
}
|
||||
|
||||
|
||||
} // end llvm namespace
|
||||
|
@ -177,6 +177,8 @@ public:
|
||||
return sizeof(uint32_t) + // Length field
|
||||
getHeaderSize() + UnitDie.getSize();
|
||||
}
|
||||
|
||||
void emitHeader(const MCSymbol *ASectionSym) const override;
|
||||
};
|
||||
|
||||
} // end llvm namespace
|
||||
|
@ -55,13 +55,6 @@ void DwarfFile::emitUnits(const MCSymbol *ASectionSym) {
|
||||
const MCSection *USection = TheU->getSection();
|
||||
Asm->OutStreamer.SwitchSection(USection);
|
||||
|
||||
// Emit the compile units header.
|
||||
Asm->OutStreamer.EmitLabel(TheU->getLabelBegin());
|
||||
|
||||
// Emit size of content not including length itself
|
||||
Asm->OutStreamer.AddComment("Length of Unit");
|
||||
Asm->EmitInt32(TheU->getHeaderSize() + Die.getSize());
|
||||
|
||||
TheU->emitHeader(ASectionSym);
|
||||
|
||||
DD.emitDIE(Die);
|
||||
|
@ -1730,6 +1730,10 @@ DIE *DwarfUnit::getOrCreateStaticMemberDIE(DIDerivedType DT) {
|
||||
}
|
||||
|
||||
void DwarfUnit::emitHeader(const MCSymbol *ASectionSym) const {
|
||||
// Emit size of content not including length itself
|
||||
Asm->OutStreamer.AddComment("Length of Unit");
|
||||
Asm->EmitInt32(getHeaderSize() + UnitDie.getSize());
|
||||
|
||||
Asm->OutStreamer.AddComment("DWARF version number");
|
||||
Asm->EmitInt16(DD->getDwarfVersion());
|
||||
Asm->OutStreamer.AddComment("Offset Into Abbrev. Section");
|
||||
|
Loading…
x
Reference in New Issue
Block a user