LLVM 20.0.0git
|
DwarfEmitter presents interface to generate all debug info tables. More...
#include "llvm/DWARFLinker/Classic/DWARFLinker.h"
Public Member Functions | |
virtual | ~DwarfEmitter ()=default |
virtual void | emitSectionContents (StringRef SecData, DebugSectionKind SecKind)=0 |
Emit section named SecName with data SecData. | |
virtual void | emitAbbrevs (const std::vector< std::unique_ptr< DIEAbbrev > > &Abbrevs, unsigned DwarfVersion)=0 |
Emit the abbreviation table Abbrevs to the .debug_abbrev section. | |
virtual void | emitStrings (const NonRelocatableStringpool &Pool)=0 |
Emit the string table described by Pool into .debug_str table. | |
virtual void | emitStringOffsets (const SmallVector< uint64_t > &StringOffsets, uint16_t TargetDWARFVersion)=0 |
Emit the debug string offset table described by StringOffsets into the .debug_str_offsets table. | |
virtual void | emitLineStrings (const NonRelocatableStringpool &Pool)=0 |
Emit the string table described by Pool into .debug_line_str table. | |
virtual void | emitDebugNames (DWARF5AccelTable &Table)=0 |
Emit DWARF debug names. | |
virtual void | emitAppleNamespaces (AccelTable< AppleAccelTableStaticOffsetData > &Table)=0 |
Emit Apple namespaces accelerator table. | |
virtual void | emitAppleNames (AccelTable< AppleAccelTableStaticOffsetData > &Table)=0 |
Emit Apple names accelerator table. | |
virtual void | emitAppleObjc (AccelTable< AppleAccelTableStaticOffsetData > &Table)=0 |
Emit Apple Objective-C accelerator table. | |
virtual void | emitAppleTypes (AccelTable< AppleAccelTableStaticTypeData > &Table)=0 |
Emit Apple type accelerator table. | |
virtual MCSymbol * | emitDwarfDebugRangeListHeader (const CompileUnit &Unit)=0 |
Emit debug ranges (.debug_ranges, .debug_rnglists) header. | |
virtual void | emitDwarfDebugRangeListFragment (const CompileUnit &Unit, const AddressRanges &LinkedRanges, PatchLocation Patch, DebugDieValuePool &AddrPool)=0 |
Emit debug ranges (.debug_ranges, .debug_rnglists) fragment. | |
virtual void | emitDwarfDebugRangeListFooter (const CompileUnit &Unit, MCSymbol *EndLabel)=0 |
Emit debug ranges (.debug_ranges, .debug_rnglists) footer. | |
virtual MCSymbol * | emitDwarfDebugLocListHeader (const CompileUnit &Unit)=0 |
Emit debug locations (.debug_loc, .debug_loclists) header. | |
virtual void | emitDwarfDebugLocListFragment (const CompileUnit &Unit, const DWARFLocationExpressionsVector &LinkedLocationExpression, PatchLocation Patch, DebugDieValuePool &AddrPool)=0 |
Emit debug locations (.debug_loc, .debug_loclists) fragment. | |
virtual void | emitDwarfDebugLocListFooter (const CompileUnit &Unit, MCSymbol *EndLabel)=0 |
Emit debug locations (.debug_loc, .debug_loclists) footer. | |
virtual MCSymbol * | emitDwarfDebugAddrsHeader (const CompileUnit &Unit)=0 |
Emit .debug_addr header. | |
virtual void | emitDwarfDebugAddrs (const SmallVector< uint64_t > &Addrs, uint8_t AddrSize)=0 |
Emit the addresses described by Addrs into the .debug_addr section. | |
virtual void | emitDwarfDebugAddrsFooter (const CompileUnit &Unit, MCSymbol *EndLabel)=0 |
Emit .debug_addr footer. | |
virtual void | emitDwarfDebugArangesTable (const CompileUnit &Unit, const AddressRanges &LinkedRanges)=0 |
Emit .debug_aranges entries for Unit . | |
virtual void | emitLineTableForUnit (const DWARFDebugLine::LineTable &LineTable, const CompileUnit &Unit, OffsetsStringPool &DebugStrPool, OffsetsStringPool &DebugLineStrPool)=0 |
Emit specified LineTable into .debug_line table. | |
virtual void | emitPubNamesForUnit (const CompileUnit &Unit)=0 |
Emit the .debug_pubnames contribution for Unit . | |
virtual void | emitPubTypesForUnit (const CompileUnit &Unit)=0 |
Emit the .debug_pubtypes contribution for Unit . | |
virtual void | emitCIE (StringRef CIEBytes)=0 |
Emit a CIE. | |
virtual void | emitFDE (uint32_t CIEOffset, uint32_t AddreSize, uint64_t Address, StringRef Bytes)=0 |
Emit an FDE with data Bytes . | |
virtual void | emitCompileUnitHeader (CompileUnit &Unit, unsigned DwarfVersion)=0 |
Emit the compilation unit header for Unit in the .debug_info section. | |
virtual void | emitDIE (DIE &Die)=0 |
Recursively emit the DIE tree rooted at Die . | |
virtual void | emitMacroTables (DWARFContext *Context, const Offset2UnitMap &UnitMacroMap, OffsetsStringPool &StringPool)=0 |
Emit all available macro tables(DWARFv4 and DWARFv5). | |
virtual uint64_t | getLineSectionSize () const =0 |
Returns size of generated .debug_line section. | |
virtual uint64_t | getFrameSectionSize () const =0 |
Returns size of generated .debug_frame section. | |
virtual uint64_t | getRangesSectionSize () const =0 |
Returns size of generated .debug_ranges section. | |
virtual uint64_t | getRngListsSectionSize () const =0 |
Returns size of generated .debug_rnglists section. | |
virtual uint64_t | getDebugInfoSectionSize () const =0 |
Returns size of generated .debug_info section. | |
virtual uint64_t | getDebugMacInfoSectionSize () const =0 |
Returns size of generated .debug_macinfo section. | |
virtual uint64_t | getDebugMacroSectionSize () const =0 |
Returns size of generated .debug_macro section. | |
virtual uint64_t | getLocListsSectionSize () const =0 |
Returns size of generated .debug_loclists section. | |
virtual uint64_t | getDebugAddrSectionSize () const =0 |
Returns size of generated .debug_addr section. | |
virtual void | finish ()=0 |
Dump the file to the disk. | |
DwarfEmitter presents interface to generate all debug info tables.
Definition at line 40 of file DWARFLinker.h.
|
virtualdefault |
|
pure virtual |
Emit the abbreviation table Abbrevs
to the .debug_abbrev section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Emit Apple names accelerator table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Emit Apple namespaces accelerator table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Emit Apple Objective-C accelerator table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Emit Apple type accelerator table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Emit a CIE.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
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().
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit DWARF debug names.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Recursively emit the DIE tree rooted at Die
.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit the addresses described by Addrs
into the .debug_addr section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit .debug_addr footer.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit .debug_addr header.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit .debug_aranges entries for Unit
.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit debug locations (.debug_loc, .debug_loclists) footer.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit debug locations (.debug_loc, .debug_loclists) fragment.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit debug locations (.debug_loc, .debug_loclists) header.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit debug ranges (.debug_ranges, .debug_rnglists) footer.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit debug ranges (.debug_ranges, .debug_rnglists) fragment.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit debug ranges (.debug_ranges, .debug_rnglists) header.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit an FDE with data Bytes
.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit the string table described by Pool
into .debug_line_str table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Emit specified LineTable
into .debug_line table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
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.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit the .debug_pubnames contribution for Unit
.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit the .debug_pubtypes contribution for Unit
.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit section named SecName with data SecData.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Emit the debug string offset table described by StringOffsets
into the .debug_str_offsets table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Emit the string table described by Pool
into .debug_str table.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Dump the file to the disk.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_addr section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_info section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
Referenced by llvm::dwarf_linker::classic::DWARFLinker::link().
|
pure virtual |
Returns size of generated .debug_macinfo section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_macro section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_frame section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_line section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_loclists section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_ranges section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_rnglists section.
Implemented in llvm::dwarf_linker::classic::DwarfStreamer.