LLVM 22.0.0git
llvm::dwarf_linker::classic::DwarfStreamer Class Reference

User of DwarfStreamer should call initialization code for AsmPrinter: More...

#include "llvm/DWARFLinker/Classic/DWARFStreamer.h"

Inheritance diagram for llvm::dwarf_linker::classic::DwarfStreamer:
[legend]

Public Member Functions

 DwarfStreamer (DWARFLinkerBase::OutputFileType OutFileType, raw_pwrite_stream &OutFile, DWARFLinkerBase::MessageHandlerTy Warning)
virtual ~DwarfStreamer ()=default
Error init (Triple TheTriple, StringRef Swift5ReflectionSegmentName)
void finish () override
 Dump the file to the disk.
AsmPrintergetAsmPrinter () const
void switchToDebugInfoSection (unsigned DwarfVersion)
 Set the current output section to debug_info and change the MC Dwarf version to DwarfVersion.
void emitCompileUnitHeader (CompileUnit &Unit, unsigned DwarfVersion) override
 Emit the compilation unit header for Unit in the debug_info section.
void emitDIE (DIE &Die) override
 Recursively emit the DIE tree rooted at Die.
void emitAbbrevs (const std::vector< std::unique_ptr< DIEAbbrev > > &Abbrevs, unsigned DwarfVersion) override
 Emit the abbreviation table Abbrevs to the debug_abbrev section.
void emitSectionContents (StringRef SecData, DebugSectionKind SecKind) override
 Emit contents of section SecName From Obj.
void emitStrings (const NonRelocatableStringpool &Pool) override
 Emit the string table described by Pool into .debug_str table.
void emitStringOffsets (const SmallVector< uint64_t > &StringOffset, uint16_t TargetDWARFVersion) override
 Emit the debug string offset table described by StringOffsets into the .debug_str_offsets table.
void emitLineStrings (const NonRelocatableStringpool &Pool) override
 Emit the string table described by Pool into .debug_line_str table.
void emitSwiftAST (StringRef Buffer)
 Emit the swift_ast section stored in Buffer.
void emitSwiftReflectionSection (llvm::binaryformat::Swift5ReflectionSectionKind ReflSectionKind, StringRef Buffer, uint32_t Alignment, uint32_t Size)
 Emit the swift reflection section stored in Buffer.
MCSymbolemitDwarfDebugRangeListHeader (const CompileUnit &Unit) override
 Emit debug ranges(.debug_ranges, .debug_rnglists) header.
void emitDwarfDebugRangeListFragment (const CompileUnit &Unit, const AddressRanges &LinkedRanges, PatchLocation Patch, DebugDieValuePool &AddrPool) override
 Emit debug ranges(.debug_ranges, .debug_rnglists) fragment.
void emitDwarfDebugRangeListFooter (const CompileUnit &Unit, MCSymbol *EndLabel) override
 Emit debug ranges(.debug_ranges, .debug_rnglists) footer.
MCSymbolemitDwarfDebugLocListHeader (const CompileUnit &Unit) override
 Emit debug locations(.debug_loc, .debug_loclists) header.
MCSymbolemitDwarfDebugAddrsHeader (const CompileUnit &Unit) override
 Emit .debug_addr header.
void emitDwarfDebugAddrs (const SmallVector< uint64_t > &Addrs, uint8_t AddrSize) override
 Emit the addresses described by Addrs into .debug_addr table.
void emitDwarfDebugAddrsFooter (const CompileUnit &Unit, MCSymbol *EndLabel) override
 Emit .debug_addr footer.
void emitDwarfDebugLocListFragment (const CompileUnit &Unit, const DWARFLocationExpressionsVector &LinkedLocationExpression, PatchLocation Patch, DebugDieValuePool &AddrPool) override
 Emit debug ranges(.debug_loc, .debug_loclists) fragment.
void emitDwarfDebugLocListFooter (const CompileUnit &Unit, MCSymbol *EndLabel) override
 Emit debug ranges(.debug_loc, .debug_loclists) footer.
void emitDwarfDebugArangesTable (const CompileUnit &Unit, const AddressRanges &LinkedRanges) override
 Emit .debug_aranges entries for Unit.
uint64_t getRangesSectionSize () const override
 Returns size of generated .debug_ranges section.
uint64_t getRngListsSectionSize () const override
 Returns size of generated .debug_rnglists section.
void emitLineTableForUnit (const DWARFDebugLine::LineTable &LineTable, const CompileUnit &Unit, OffsetsStringPool &DebugStrPool, OffsetsStringPool &DebugLineStrPool, std::vector< uint64_t > *RowOffsets=nullptr) override
 Emit .debug_line table entry for specified LineTable The optional parameter RowOffsets, if provided, will be populated with the offsets of each line table row in the output .debug_line section.
uint64_t getLineSectionSize () const override
 Returns size of generated .debug_line section.
void emitPubNamesForUnit (const CompileUnit &Unit) override
 Emit the .debug_pubnames contribution for Unit.
void emitPubTypesForUnit (const CompileUnit &Unit) override
 Emit the .debug_pubtypes contribution for Unit.
void emitCIE (StringRef CIEBytes) override
 Emit a CIE.
void emitFDE (uint32_t CIEOffset, uint32_t AddreSize, uint64_t Address, StringRef Bytes) override
 Emit an FDE with data Bytes.
void emitDebugNames (DWARF5AccelTable &Table) override
 Emit DWARF debug names.
void emitAppleNamespaces (AccelTable< AppleAccelTableStaticOffsetData > &Table) override
 Emit Apple namespaces accelerator table.
void emitAppleNames (AccelTable< AppleAccelTableStaticOffsetData > &Table) override
 Emit Apple names accelerator table.
void emitAppleObjc (AccelTable< AppleAccelTableStaticOffsetData > &Table) override
 Emit Apple Objective-C accelerator table.
void emitAppleTypes (AccelTable< AppleAccelTableStaticTypeData > &Table) override
 Emit Apple type accelerator table.
uint64_t getFrameSectionSize () const override
 Returns size of generated .debug_frame section.
uint64_t getDebugInfoSectionSize () const override
 Returns size of generated .debug_info section.
uint64_t getDebugMacInfoSectionSize () const override
 Returns size of generated .debug_macinfo section.
uint64_t getDebugMacroSectionSize () const override
 Returns size of generated .debug_macro section.
uint64_t getLocListsSectionSize () const override
 Returns size of generated .debug_loclists section.
uint64_t getDebugAddrSectionSize () const override
 Returns size of generated .debug_addr section.
void emitMacroTables (DWARFContext *Context, const Offset2UnitMap &UnitMacroMap, OffsetsStringPool &StringPool) override
 Emit all available macro tables(DWARFv4 and DWARFv5).
Public Member Functions inherited from llvm::dwarf_linker::classic::DwarfEmitter
virtual ~DwarfEmitter ()=default

Static Public Member Functions

static Expected< std::unique_ptr< DwarfStreamer > > createStreamer (const Triple &TheTriple, DWARFLinkerBase::OutputFileType FileType, raw_pwrite_stream &OutFile, DWARFLinkerBase::MessageHandlerTy Warning)

Detailed Description

User of DwarfStreamer should call initialization code for AsmPrinter:

InitializeAllTargetInfos(); InitializeAllTargetMCs(); InitializeAllTargets(); InitializeAllAsmPrinters(); The Dwarf streaming logic.

All interactions with the MC layer that is used to build the debug information binary representation are handled in this class.

Definition at line 45 of file DWARFStreamer.h.

Constructor & Destructor Documentation

◆ DwarfStreamer()

llvm::dwarf_linker::classic::DwarfStreamer::DwarfStreamer ( DWARFLinkerBase::OutputFileType OutFileType,
raw_pwrite_stream & OutFile,
DWARFLinkerBase::MessageHandlerTy Warning )
inline

Definition at line 47 of file DWARFStreamer.h.

References llvm::Warning.

◆ ~DwarfStreamer()

virtual llvm::dwarf_linker::classic::DwarfStreamer::~DwarfStreamer ( )
virtualdefault

Member Function Documentation

◆ createStreamer()

Expected< std::unique_ptr< DwarfStreamer > > DwarfStreamer::createStreamer ( const Triple & TheTriple,
DWARFLinkerBase::OutputFileType FileType,
raw_pwrite_stream & OutFile,
DWARFLinkerBase::MessageHandlerTy Warning )
static

Definition at line 33 of file DWARFStreamer.cpp.

References llvm::Warning.

Referenced by ~DwarfStreamer().

◆ emitAbbrevs()

void DwarfStreamer::emitAbbrevs ( const std::vector< std::unique_ptr< DIEAbbrev > > & Abbrevs,
unsigned DwarfVersion )
overridevirtual

Emit the abbreviation table Abbrevs to the debug_abbrev section.

Emit the Abbrevs array as the shared abbreviation table for the linked Dwarf file.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 211 of file DWARFStreamer.cpp.

◆ emitAppleNames()

void DwarfStreamer::emitAppleNames ( AccelTable< AppleAccelTableStaticOffsetData > & Table)
overridevirtual

Emit Apple names accelerator table.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 389 of file DWARFStreamer.cpp.

References llvm::emitAppleAccelTable().

◆ emitAppleNamespaces()

void DwarfStreamer::emitAppleNamespaces ( AccelTable< AppleAccelTableStaticOffsetData > & Table)
overridevirtual

Emit Apple namespaces accelerator table.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 381 of file DWARFStreamer.cpp.

References llvm::emitAppleAccelTable().

◆ emitAppleObjc()

void DwarfStreamer::emitAppleObjc ( AccelTable< AppleAccelTableStaticOffsetData > & Table)
overridevirtual

Emit Apple Objective-C accelerator table.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 397 of file DWARFStreamer.cpp.

References llvm::emitAppleAccelTable().

◆ emitAppleTypes()

void DwarfStreamer::emitAppleTypes ( AccelTable< AppleAccelTableStaticTypeData > & Table)
overridevirtual

Emit Apple type accelerator table.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 405 of file DWARFStreamer.cpp.

References llvm::emitAppleAccelTable().

◆ emitCIE()

void DwarfStreamer::emitCIE ( StringRef CIEBytes)
overridevirtual

Emit a CIE.

Emit a CIE into the debug_frame section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 1260 of file DWARFStreamer.cpp.

References llvm::StringRef::size().

◆ emitCompileUnitHeader()

void DwarfStreamer::emitCompileUnitHeader ( CompileUnit & Unit,
unsigned DwarfVersion )
overridevirtual

Emit the compilation unit header for Unit in the debug_info section.

As a side effect, this also switches the current Dwarf version of the MC layer to the one of U.getOrigUnit().

A Dwarf 4 section header is encoded as: uint32_t Unit length (omitting this field) uint16_t Version uint32_t Abbreviation table offset uint8_t Address size Leading to a total of 11 bytes.

A Dwarf 5 section header is encoded as: uint32_t Unit length (omitting this field) uint16_t Version uint8_t Unit type uint8_t Address size uint32_t Abbreviation table offset Leading to a total of 12 bytes.

The start of the unit within its section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 176 of file DWARFStreamer.cpp.

References switchToDebugInfoSection().

◆ emitDebugNames()

void DwarfStreamer::emitDebugNames ( DWARF5AccelTable & Table)
overridevirtual

Emit DWARF debug names.

llvm-dwarfutil doesn't support type units + .debug_names right now.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 350 of file DWARFStreamer.cpp.

References llvm::DIEInteger::BestForm(), llvm::emitDWARF5AccelTable(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::size().

◆ emitDIE()

void DwarfStreamer::emitDIE ( DIE & Die)
overridevirtual

Recursively emit the DIE tree rooted at Die.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 220 of file DWARFStreamer.cpp.

References llvm::DIE::getSize().

◆ emitDwarfDebugAddrs()

void DwarfStreamer::emitDwarfDebugAddrs ( const SmallVector< uint64_t > & Addrs,
uint8_t AddrSize )
overridevirtual

Emit the addresses described by Addrs into .debug_addr table.

Emit the .debug_addr addresses stored in Addrs.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 736 of file DWARFStreamer.cpp.

◆ emitDwarfDebugAddrsFooter()

void DwarfStreamer::emitDwarfDebugAddrsFooter ( const CompileUnit & Unit,
MCSymbol * EndLabel )
overridevirtual

Emit .debug_addr footer.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 746 of file DWARFStreamer.cpp.

◆ emitDwarfDebugAddrsHeader()

MCSymbol * DwarfStreamer::emitDwarfDebugAddrsHeader ( const CompileUnit & Unit)
overridevirtual

Emit .debug_addr header.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 706 of file DWARFStreamer.cpp.

◆ emitDwarfDebugArangesTable()

void DwarfStreamer::emitDwarfDebugArangesTable ( const CompileUnit & Unit,
const AddressRanges & LinkedRanges )
overridevirtual

Emit .debug_aranges entries for Unit.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 433 of file DWARFStreamer.cpp.

References llvm::dwarf::DW_ARANGES_VERSION, llvm::offsetToAlignment(), and Range.

◆ emitDwarfDebugLocListFooter()

void DwarfStreamer::emitDwarfDebugLocListFooter ( const CompileUnit & Unit,
MCSymbol * EndLabel )
overridevirtual

Emit debug ranges(.debug_loc, .debug_loclists) footer.

Emit debug locations(.debug_loc, .debug_loclists) footer.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 653 of file DWARFStreamer.cpp.

◆ emitDwarfDebugLocListFragment()

void DwarfStreamer::emitDwarfDebugLocListFragment ( const CompileUnit & Unit,
const DWARFLocationExpressionsVector & LinkedLocationExpression,
PatchLocation Patch,
DebugDieValuePool & AddrPool )
overridevirtual

Emit debug ranges(.debug_loc, .debug_loclists) fragment.

Emit debug locations(.debug_loc, .debug_loclists) fragment.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 639 of file DWARFStreamer.cpp.

◆ emitDwarfDebugLocListHeader()

MCSymbol * DwarfStreamer::emitDwarfDebugLocListHeader ( const CompileUnit & Unit)
overridevirtual

Emit debug locations(.debug_loc, .debug_loclists) header.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 603 of file DWARFStreamer.cpp.

◆ emitDwarfDebugRangeListFooter()

void DwarfStreamer::emitDwarfDebugRangeListFooter ( const CompileUnit & Unit,
MCSymbol * EndLabel )
overridevirtual

Emit debug ranges(.debug_ranges, .debug_rnglists) footer.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 552 of file DWARFStreamer.cpp.

◆ emitDwarfDebugRangeListFragment()

void DwarfStreamer::emitDwarfDebugRangeListFragment ( const CompileUnit & Unit,
const AddressRanges & LinkedRanges,
PatchLocation Patch,
DebugDieValuePool & AddrPool )
overridevirtual

Emit debug ranges(.debug_ranges, .debug_rnglists) fragment.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 541 of file DWARFStreamer.cpp.

◆ emitDwarfDebugRangeListHeader()

MCSymbol * DwarfStreamer::emitDwarfDebugRangeListHeader ( const CompileUnit & Unit)
overridevirtual

Emit debug ranges(.debug_ranges, .debug_rnglists) header.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 506 of file DWARFStreamer.cpp.

◆ emitFDE()

void DwarfStreamer::emitFDE ( uint32_t CIEOffset,
uint32_t AddrSize,
uint64_t Address,
StringRef FDEBytes )
overridevirtual

Emit an FDE with data Bytes.

Emit a FDE into the debug_frame section.

FDEBytes contains the FDE data without the length, CIE offset and address which will be replaced with the parameter values.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 1270 of file DWARFStreamer.cpp.

References llvm::Address, and llvm::StringRef::size().

◆ emitLineStrings()

void DwarfStreamer::emitLineStrings ( const NonRelocatableStringpool & Pool)
overridevirtual

Emit the string table described by Pool into .debug_line_str table.

Emit the debug_line_str section stored in Pool.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 339 of file DWARFStreamer.cpp.

References llvm::NonRelocatableStringpool::getEntriesForEmission().

◆ emitLineTableForUnit()

void DwarfStreamer::emitLineTableForUnit ( const DWARFDebugLine::LineTable & LineTable,
const CompileUnit & Unit,
OffsetsStringPool & DebugStrPool,
OffsetsStringPool & DebugLineStrPool,
std::vector< uint64_t > * RowOffsets = nullptr )
overridevirtual

Emit .debug_line table entry for specified LineTable The optional parameter RowOffsets, if provided, will be populated with the offsets of each line table row in the output .debug_line section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 810 of file DWARFStreamer.cpp.

References llvm::dwarf::DW_LENGTH_DWARF64, llvm::dwarf::DWARF64, llvm::dwarf::FormParams::Format, llvm::DWARFDebugLine::Prologue::FormParams, and llvm::DWARFDebugLine::LineTable::Prologue.

◆ emitMacroTables()

void DwarfStreamer::emitMacroTables ( DWARFContext * Context,
const Offset2UnitMap & UnitMacroMap,
OffsetsStringPool & StringPool )
overridevirtual

Emit all available macro tables(DWARFv4 and DWARFv5).

Use UnitMacroMap to get compilation unit by macro table offset. Side effects: Fill StringPool with macro strings, update DW_AT_macro_info, DW_AT_macros attributes for corresponding compile units.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 1281 of file DWARFStreamer.cpp.

References assert().

◆ emitPubNamesForUnit()

void DwarfStreamer::emitPubNamesForUnit ( const CompileUnit & Unit)
overridevirtual

Emit the .debug_pubnames contribution for Unit.

Emit .debug_pubnames for Unit.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 1248 of file DWARFStreamer.cpp.

◆ emitPubTypesForUnit()

void DwarfStreamer::emitPubTypesForUnit ( const CompileUnit & Unit)
overridevirtual

Emit the .debug_pubtypes contribution for Unit.

Emit .debug_pubtypes for Unit.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 1254 of file DWARFStreamer.cpp.

◆ emitSectionContents()

void DwarfStreamer::emitSectionContents ( StringRef SecData,
DebugSectionKind SecKind )
overridevirtual

Emit contents of section SecName From Obj.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 227 of file DWARFStreamer.cpp.

◆ emitStringOffsets()

void DwarfStreamer::emitStringOffsets ( const SmallVector< uint64_t > & StringOffset,
uint16_t TargetDWARFVersion )
overridevirtual

Emit the debug string offset table described by StringOffsets into the .debug_str_offsets table.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 307 of file DWARFStreamer.cpp.

References llvm::SmallVectorTemplateCommon< T, typename >::empty().

◆ emitStrings()

void DwarfStreamer::emitStrings ( const NonRelocatableStringpool & Pool)
overridevirtual

Emit the string table described by Pool into .debug_str table.

Emit the debug_str section stored in Pool.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 294 of file DWARFStreamer.cpp.

References llvm::NonRelocatableStringpool::getEntriesForEmission().

◆ emitSwiftAST()

void DwarfStreamer::emitSwiftAST ( StringRef Buffer)

Emit the swift_ast section stored in Buffer.

Emit the swift_ast section stored in Buffers.

Definition at line 414 of file DWARFStreamer.cpp.

References llvm::MCSection::setAlignment().

◆ emitSwiftReflectionSection()

void DwarfStreamer::emitSwiftReflectionSection ( llvm::binaryformat::Swift5ReflectionSectionKind ReflSectionKind,
StringRef Buffer,
uint32_t Alignment,
uint32_t Size )

Emit the swift reflection section stored in Buffer.

Definition at line 421 of file DWARFStreamer.cpp.

References llvm::MCSection::setAlignment(), and Size.

◆ finish()

void DwarfStreamer::finish ( )
overridevirtual

Dump the file to the disk.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 153 of file DWARFStreamer.cpp.

Referenced by ~DwarfStreamer().

◆ getAsmPrinter()

AsmPrinter & llvm::dwarf_linker::classic::DwarfStreamer::getAsmPrinter ( ) const
inline

Definition at line 62 of file DWARFStreamer.h.

◆ getDebugAddrSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getDebugAddrSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_addr section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 213 of file DWARFStreamer.h.

◆ getDebugInfoSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getDebugInfoSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_info section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 197 of file DWARFStreamer.h.

◆ getDebugMacInfoSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getDebugMacInfoSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_macinfo section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 201 of file DWARFStreamer.h.

◆ getDebugMacroSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getDebugMacroSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_macro section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 205 of file DWARFStreamer.h.

◆ getFrameSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getFrameSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_frame section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 195 of file DWARFStreamer.h.

◆ getLineSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getLineSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_line section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 161 of file DWARFStreamer.h.

◆ getLocListsSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getLocListsSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_loclists section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 209 of file DWARFStreamer.h.

◆ getRangesSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getRangesSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_ranges section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 146 of file DWARFStreamer.h.

◆ getRngListsSectionSize()

uint64_t llvm::dwarf_linker::classic::DwarfStreamer::getRngListsSectionSize ( ) const
inlineoverridevirtual

Returns size of generated .debug_rnglists section.

Implements llvm::dwarf_linker::classic::DwarfEmitter.

Definition at line 148 of file DWARFStreamer.h.

◆ init()

◆ switchToDebugInfoSection()

void DwarfStreamer::switchToDebugInfoSection ( unsigned DwarfVersion)

Set the current output section to debug_info and change the MC Dwarf version to DwarfVersion.

Definition at line 155 of file DWARFStreamer.cpp.

Referenced by emitCompileUnitHeader().


The documentation for this class was generated from the following files: