LLVM 20.0.0git
|
A helper struct providing information about the byte size of DW_FORM values that vary in size depending on the DWARF version, address byte size, or DWARF32/DWARF64. More...
#include "llvm/BinaryFormat/Dwarf.h"
Public Member Functions | |
uint8_t | getRefAddrByteSize () const |
The definition of the size of form DW_FORM_ref_addr depends on the version. | |
uint8_t | getDwarfOffsetByteSize () const |
The size of a reference is determined by the DWARF 32/64-bit format. | |
operator bool () const | |
Public Attributes | |
uint16_t | Version |
uint8_t | AddrSize |
DwarfFormat | Format |
bool | DwarfUsesRelocationsAcrossSections = false |
True if DWARF v2 output generally uses relocations for references to other .debug_* sections. | |
A helper struct providing information about the byte size of DW_FORM values that vary in size depending on the DWARF version, address byte size, or DWARF32/DWARF64.
|
inline |
The size of a reference is determined by the DWARF 32/64-bit format.
Definition at line 1102 of file Dwarf.h.
References Format, and llvm::dwarf::getDwarfOffsetByteSize().
Referenced by llvm::dwarf_linker::parallel::SectionDescriptor::apply(), llvm::dwarf_linker::parallel::OutputSections::applyPatches(), llvm::dwarf_linker::parallel::SectionDescriptor::applySLEB128(), llvm::dwarf_linker::parallel::SectionDescriptor::applyULEB128(), llvm::dwarf_linker::parallel::CompileUnit::cloneDieAttrExpression(), llvm::dwarf_linker::parallel::DebugLineSectionEmitter::emit(), llvm::DWARFYAML::emitDebugInfo(), llvm::dwarf_linker::parallel::DwarfUnit::emitDebugStringOffsetSection(), llvm::DWARFUnitHeader::extract(), llvm::DWARFUnitHeader::getDwarfOffsetByteSize(), llvm::StrOffsetsContributionDescriptor::getDwarfOffsetByteSize(), llvm::dwarf::getFixedFormByteSize(), getRefAddrByteSize(), llvm::DIEExpr::sizeOf(), llvm::DIELabel::sizeOf(), llvm::DIEDelta::sizeOf(), llvm::DIELocList::sizeOf(), and writeDIE().
|
inline |
The definition of the size of form DW_FORM_ref_addr depends on the version.
In DWARF v2 it's the size of an address; after that, it's the size of a reference.
Definition at line 1095 of file Dwarf.h.
References AddrSize, getDwarfOffsetByteSize(), and Version.
Referenced by llvm::dwarf_linker::parallel::SectionDescriptor::apply(), llvm::dwarf::getFixedFormByteSize(), llvm::DWARFUnitHeader::getRefAddrByteSize(), llvm::DIEEntry::sizeOf(), and writeDIE().
|
inlineexplicit |
uint8_t llvm::dwarf::FormParams::AddrSize |
Definition at line 1086 of file Dwarf.h.
Referenced by llvm::dwarf_linker::parallel::CompileUnit::cloneAndEmitLineTable(), llvm::DWARFUnitHeader::extract(), llvm::DWARFUnitHeader::getAddressByteSize(), llvm::DWARFDebugLine::Prologue::getAddressSize(), llvm::dwarf::getFixedFormByteSize(), getRefAddrByteSize(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::link(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::LinkContext(), operator bool(), llvm::DWARFDebugLine::Prologue::parse(), llvm::DIELabel::sizeOf(), and writeDIE().
bool llvm::dwarf::FormParams::DwarfUsesRelocationsAcrossSections = false |
True if DWARF v2 output generally uses relocations for references to other .debug_* sections.
Definition at line 1090 of file Dwarf.h.
Referenced by llvm::DIEString::sizeOf().
DwarfFormat llvm::dwarf::FormParams::Format |
Definition at line 1087 of file Dwarf.h.
Referenced by llvm::dwarf_linker::parallel::DIEAttributeCloner::cloneBlockAttr(), llvm::DWARFDebugLine::Prologue::dump(), llvm::dwarf_linker::classic::DwarfStreamer::emitLineTableForUnit(), llvm::DWARFUnitHeader::extract(), llvm::dwarf_linker::parallel::OutputSections::getDebugAddrHeaderSize(), llvm::dwarf_linker::parallel::OutputSections::getDebugStrOffsetsHeaderSize(), getDwarfOffsetByteSize(), llvm::DWARFUnitHeader::getFormat(), llvm::StrOffsetsContributionDescriptor::getFormat(), llvm::DWARFUnitHeader::getUnitLengthFieldByteSize(), llvm::DWARFDebugLine::Prologue::isDWARF64(), llvm::DWARFDebugLine::Prologue::parse(), and llvm::DIELocList::sizeOf().
uint16_t llvm::dwarf::FormParams::Version |
Definition at line 1085 of file Dwarf.h.
Referenced by llvm::dwarf_linker::parallel::OutputSections::applyPatches(), llvm::DWARFUnitHeader::extract(), llvm::dwarf_linker::parallel::OutputSections::getDebugAddrHeaderSize(), llvm::dwarf_linker::parallel::OutputSections::getDebugInfoHeaderSize(), llvm::dwarf_linker::parallel::OutputSections::getDebugStrOffsetsHeaderSize(), llvm::DWARFDebugNames::NameIndex::getEntry(), getRefAddrByteSize(), llvm::DWARFDebugLine::Prologue::getVersion(), llvm::DWARFUnitHeader::getVersion(), llvm::StrOffsetsContributionDescriptor::getVersion(), llvm::dwarf_linker::parallel::OutputSections::getVersion(), llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::LinkContext(), operator bool(), and llvm::DWARFDebugLine::Prologue::parse().