Asm->EmitInt16(dwarf::DWARF_VERSION);
Asm->OutStreamer.AddComment("Offset Into Abbrev. Section");
EmitSectionOffset(Asm->GetTempSymbol("abbrev_begin"),
- Asm->GetTempSymbol("section_abbrev"), true);
+ Asm->GetTempSymbol("section_abbrev"));
Asm->OutStreamer.AddComment("Address Size (in bytes)");
Asm->EmitInt8(TD->getPointerSize());
Asm->OutStreamer.AddComment("FDE CIE offset");
EmitSectionOffset(Asm->GetTempSymbol("debug_frame_common"),
- Asm->GetTempSymbol("section_debug_frame"), true);
+ Asm->GetTempSymbol("section_debug_frame"));
Asm->OutStreamer.AddComment("FDE initial location");
MCSymbol *FuncBeginSym =
Asm->OutStreamer.AddComment("Offset of Compilation Unit Info");
EmitSectionOffset(Asm->GetTempSymbol("info_begin", ModuleCU->getID()),
- Asm->GetTempSymbol("section_info"), true);
+ Asm->GetTempSymbol("section_info"));
Asm->OutStreamer.AddComment("Compilation Unit Length");
Asm->EmitLabelDifference(Asm->GetTempSymbol("info_end", ModuleCU->getID()),
Asm->OutStreamer.AddComment("Offset of Compilation ModuleCU Info");
EmitSectionOffset(Asm->GetTempSymbol("info_begin", ModuleCU->getID()),
- Asm->GetTempSymbol("section_info"), true);
+ Asm->GetTempSymbol("section_info"));
Asm->OutStreamer.AddComment("Compilation ModuleCU Length");
Asm->EmitLabelDifference(Asm->GetTempSymbol("info_end", ModuleCU->getID()),
Asm->OutStreamer.EmitIntValue(0, 1, 0); // nul terminator.
} else
EmitSectionOffset(getStringPoolEntry(getRealLinkageName(LName)),
- Asm->GetTempSymbol("section_str"), true);
+ Asm->GetTempSymbol("section_str"));
Asm->OutStreamer.AddComment("Function name");
EmitSectionOffset(getStringPoolEntry(Name),
- Asm->GetTempSymbol("section_str"), true);
+ Asm->GetTempSymbol("section_str"));
Asm->EmitULEB128(Labels.size(), "Inline count");
for (SmallVector<InlineInfoLabels, 4>::iterator LI = Labels.begin(),
void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label,
- const MCSymbol *Section, bool IsSmall) {
- bool isAbsolute = MAI->isAbsoluteDebugSectionOffsets();
-
- if (!isAbsolute)
- return Asm->EmitLabelDifference(Label, Section,
- IsSmall ? 4 : TD->getPointerSize());
+ const MCSymbol *Section) {
+ if (!MAI->isAbsoluteDebugSectionOffsets())
+ return Asm->EmitLabelDifference(Label, Section, 4);
// On COFF targets, we have to emit the weird .secrel32 directive.
if (const char *SecOffDir = MAI->getDwarfSectionOffsetDirective()) {
// FIXME: MCize.
Asm->OutStreamer.EmitRawText(SecOffDir + Twine(Label->getName()));
} else {
- unsigned Size = IsSmall ? 4 : TD->getPointerSize();
- Asm->OutStreamer.EmitSymbolValue(Label, Size, 0/*AddrSpace*/);
+ Asm->OutStreamer.EmitSymbolValue(Label, 4, 0/*AddrSpace*/);
}
}
const MCAsmInfo *getMCAsmInfo() const { return MAI; }
const TargetData *getTargetData() const { return TD; }
- /// EmitSectionOffset - Emit Label-Section or use a special purpose directive
- /// to emit a section offset if the target has one.
- void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section,
- bool IsSmall = false);
+ /// EmitSectionOffset - Emit a 4-byte "Label-Section" value or use a special
+ /// purpose directive to emit a section offset if the target has one.
+ void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section);
/// EmitFrameMoves - Emit frame instructions to describe the layout of the
/// frame.