LLVM 17.0.0git
|
DwarfEmitter presents interface to generate all debug info tables. More...
#include "llvm/DWARFLinker/DWARFLinker.h"
Public Member Functions | |
virtual | ~DwarfEmitter () |
virtual void | emitPaperTrailWarningsDie (DIE &Die)=0 |
Emit DIE containing warnings. | |
virtual void | emitSectionContents (StringRef SecData, StringRef SecName)=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 . | |
virtual void | emitDebugNames (AccelTable< DWARF5AccelTableStaticData > &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)=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)=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 void | emitDwarfDebugArangesTable (const CompileUnit &Unit, const AddressRanges &LinkedRanges)=0 |
Emit .debug_aranges entries for Unit . | |
virtual void | translateLineTable (DataExtractor LineData, uint64_t Offset)=0 |
Copy the .debug_line over to the updated binary while unobfuscating the file names and directories. | |
virtual void | emitLineTableForUnit (MCDwarfLineTableParams Params, StringRef PrologueBytes, unsigned MinInstLength, std::vector< DWARFDebugLine::Row > &Rows, unsigned AdddressSize)=0 |
Emit the line table described in Rows into the .debug_line section. | |
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. | |
DwarfEmitter presents interface to generate all debug info tables.
Definition at line 82 of file DWARFLinker.h.
|
virtualdefault |
|
pure virtual |
Emit the abbreviation table Abbrevs
to the .debug_abbrev section.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Emit Apple names accelerator table.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Emit Apple namespaces accelerator table.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Emit Apple Objective-C accelerator table.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Emit Apple type accelerator table.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Emit a CIE.
Implemented in llvm::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::DwarfStreamer.
|
pure virtual |
Emit DWARF debug names.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Recursively emit the DIE tree rooted at Die
.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit .debug_aranges entries for Unit
.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit debug locations (.debug_loc, .debug_loclists) footer.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit debug locations (.debug_loc, .debug_loclists) fragment.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit debug locations (.debug_loc, .debug_loclists) header.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit debug ranges (.debug_ranges, .debug_rnglists) footer.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit debug ranges (.debug_ranges, .debug_rnglists) fragment.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit debug ranges (.debug_ranges, .debug_rnglists) header.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit an FDE with data Bytes
.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit the line table described in Rows
into the .debug_line section.
Implemented in llvm::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::DwarfStreamer.
|
pure virtual |
Emit DIE containing warnings.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit the .debug_pubnames contribution for Unit
.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit the .debug_pubtypes contribution for Unit
.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit section named SecName with data SecData.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Emit the string table described by Pool
.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Returns size of generated .debug_info section.
Implemented in llvm::DwarfStreamer.
Referenced by llvm::DWARFLinker::link().
|
pure virtual |
Returns size of generated .debug_macinfo section.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_macro section.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_frame section.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_line section.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_loclists section.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_ranges section.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Returns size of generated .debug_rnglists section.
Implemented in llvm::DwarfStreamer.
|
pure virtual |
Copy the .debug_line over to the updated binary while unobfuscating the file names and directories.
Implemented in llvm::DwarfStreamer.