reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/dsymutil/DwarfStreamer.cpp
  118   Asm.reset(TheTarget->createAsmPrinter(*TM, std::unique_ptr<MCStreamer>(MS)));
  119   if (!Asm)
  159   Unit.setLabelBegin(Asm->createTempSymbol("cu_begin"));
  160   Asm->OutStreamer->EmitLabel(Unit.getLabelBegin());
  165   Asm->emitInt32(Unit.getNextUnitOffset() - Unit.getStartOffset() - 4);
  166   Asm->emitInt16(Version);
  170   Asm->emitInt32(0);
  171   Asm->emitInt8(Unit.getOrigUnit().getAddressByteSize());
  184   Asm->emitDwarfAbbrevs(Abbrevs);
  190   Asm->emitDwarfDIE(Die);
  195   Asm->OutStreamer->SwitchSection(MOFI->getDwarfStrSection());
  199     Asm->OutStreamer->EmitBytes(Entry.getString());
  201     Asm->emitInt8(0);
  220   Asm->OutStreamer->SwitchSection(MOFI->getDwarfDebugNamesSection());
  222       Asm.get(), Table, CompUnits,
  230   Asm->OutStreamer->SwitchSection(MOFI->getDwarfAccelNamespaceSection());
  231   auto *SectionBegin = Asm->createTempSymbol("namespac_begin");
  232   Asm->OutStreamer->EmitLabel(SectionBegin);
  233   emitAppleAccelTable(Asm.get(), Table, "namespac", SectionBegin);
  238   Asm->OutStreamer->SwitchSection(MOFI->getDwarfAccelNamesSection());
  239   auto *SectionBegin = Asm->createTempSymbol("names_begin");
  240   Asm->OutStreamer->EmitLabel(SectionBegin);
  241   emitAppleAccelTable(Asm.get(), Table, "names", SectionBegin);
  246   Asm->OutStreamer->SwitchSection(MOFI->getDwarfAccelObjCSection());
  247   auto *SectionBegin = Asm->createTempSymbol("objc_begin");
  248   Asm->OutStreamer->EmitLabel(SectionBegin);
  249   emitAppleAccelTable(Asm.get(), Table, "objc", SectionBegin);
  254   Asm->OutStreamer->SwitchSection(MOFI->getDwarfAccelTypesSection());
  255   auto *SectionBegin = Asm->createTempSymbol("types_begin");
  256   Asm->OutStreamer->EmitLabel(SectionBegin);
  257   emitAppleAccelTable(Asm.get(), Table, "types", SectionBegin);
  331     MCSymbol *BeginLabel = Asm->createTempSymbol("Barange");
  332     MCSymbol *EndLabel = Asm->createTempSymbol("Earange");
  344     Asm->EmitLabelDifference(EndLabel, BeginLabel, 4); // Arange length
  345     Asm->OutStreamer->EmitLabel(BeginLabel);
  346     Asm->emitInt16(dwarf::DW_ARANGES_VERSION); // Version number
  347     Asm->emitInt32(Unit.getStartOffset());     // Corresponding unit's offset
  348     Asm->emitInt8(AddressSize);                // Address size
  349     Asm->emitInt8(0);                          // Segment size
  351     Asm->OutStreamer->emitFill(Padding, 0x0);
  363     Asm->OutStreamer->EmitIntValue(0, AddressSize);
  364     Asm->OutStreamer->EmitIntValue(0, AddressSize);
  365     Asm->OutStreamer->EmitLabel(EndLabel);
  426         Asm->OutStreamer->EmitIntValue(0, AddressSize);
  427         Asm->OutStreamer->EmitIntValue(0, AddressSize);
  432         Asm->OutStreamer->EmitIntValue(BaseAddressMarker, AddressSize);
  433         Asm->OutStreamer->EmitIntValue(High + Attr.second, AddressSize);
  438       Asm->OutStreamer->EmitIntValue(Low + LocPcOffset, AddressSize);
  439       Asm->OutStreamer->EmitIntValue(High + LocPcOffset, AddressSize);
  441       Asm->OutStreamer->EmitIntValue(Length, 2);
  447       Asm->OutStreamer->EmitBytes(
  467   Asm->EmitLabelDifference(LineEndSym, LineStartSym, 4);
  468   Asm->OutStreamer->EmitLabel(LineStartSym);
  622   Asm->EmitLabelDifference(EndLabel, BeginLabel, 4);
  623   Asm->OutStreamer->EmitLabel(BeginLabel);
  624   Asm->emitInt16(Version);
  629   Asm->EmitLabelDifference(HeaderEndLabel, HeaderBeginLabel, 4);
  630   Asm->OutStreamer->EmitLabel(HeaderBeginLabel);
  639   Asm->OutStreamer->EmitBytes(Contents.slice(AfterHeaderLengthOffset, Offset));
  648     Asm->OutStreamer->EmitBytes(Translated);
  649     Asm->emitInt8(0);
  652   Asm->emitInt8(0);
  660     Asm->OutStreamer->EmitBytes(Translated);
  661     Asm->emitInt8(0);
  665     Asm->EmitULEB128(Data.getULEB128(&Offset));
  666     Asm->EmitULEB128(Data.getULEB128(&Offset));
  667     Asm->EmitULEB128(Data.getULEB128(&Offset));
  670   Asm->emitInt8(0);
  673   Asm->OutStreamer->EmitLabel(HeaderEndLabel);
  676   Asm->OutStreamer->EmitBytes(Contents.slice(Offset, UnitEnd));
  679   Asm->OutStreamer->EmitLabel(EndLabel);
  721   Asm->OutStreamer->SwitchSection(Sec);
  722   MCSymbol *BeginLabel = Asm->createTempSymbol("pub" + SecName + "_begin");
  723   MCSymbol *EndLabel = Asm->createTempSymbol("pub" + SecName + "_end");
  733       Asm->EmitLabelDifference(EndLabel, BeginLabel, 4); // Length
  734       Asm->OutStreamer->EmitLabel(BeginLabel);
  735       Asm->emitInt16(dwarf::DW_PUBNAMES_VERSION); // Version
  736       Asm->emitInt32(Unit.getStartOffset());      // Unit offset
  737       Asm->emitInt32(Unit.getNextUnitOffset() - Unit.getStartOffset()); // Size
  740     Asm->emitInt32(Name.Die->getOffset());
  743     Asm->OutStreamer->EmitBytes(Name.Name.getString());
  745     Asm->emitInt8(0);
  750   Asm->emitInt32(0); // End marker.
  751   Asm->OutStreamer->EmitLabel(EndLabel);
tools/dsymutil/DwarfStreamer.h
   54   AsmPrinter &getAsmPrinter() const { return *Asm; }