LLVM: llvm::objcopy:π§:SectionBase Class Reference (original) (raw)
#include "[ObjCopy/ELF/ELFObject.h](ELFObject%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| SectionBase ()=default | |
| SectionBase (const SectionBase &)=default | |
| virtual | ~SectionBase ()=default |
| virtual Error | initialize (SectionTableRef SecTable) |
| virtual void | finalize () |
| virtual Error | removeSectionReferences (bool AllowBrokenLinks, function_ref< bool(const SectionBase *)> ToRemove) |
| virtual Error | removeSymbols (function_ref< bool(const Symbol &)> ToRemove) |
| virtual Error | accept (SectionVisitor &Visitor) const =0 |
| virtual Error | accept (MutableSectionVisitor &Visitor)=0 |
| virtual void | markSymbols () |
| virtual void | replaceSectionReferences (const DenseMap< SectionBase *, SectionBase * > &) |
| virtual bool | hasContents () const |
| virtual ArrayRef< uint8_t > | getContents () const |
| virtual void | onRemove () |
| virtual void | restoreSymTabLink (SymbolTableSection &) |
| Public Attributes | |
|---|---|
| std::string | Name |
| Segment * | ParentSegment = nullptr |
| uint64_t | HeaderOffset = 0 |
| uint32_t | Index = 0 |
| uint32_t | OriginalIndex = 0 |
| uint64_t | OriginalFlags = 0 |
| uint64_t | OriginalType = ELF::SHT_NULL |
| uint64_t | OriginalOffset = std::numeric_limits<uint64_t>::max() |
| uint64_t | Addr = 0 |
| uint64_t | Align = 1 |
| uint32_t | EntrySize = 0 |
| uint64_t | Flags = 0 |
| uint64_t | Info = 0 |
| uint64_t | Link = ELF::SHN_UNDEF |
| uint64_t | NameIndex = 0 |
| uint64_t | Offset = 0 |
| uint64_t | Size = 0 |
| uint64_t | Type = ELF::SHT_NULL |
| ArrayRef< uint8_t > | OriginalData |
| bool | HasSymbol = false |
Definition at line 509 of file ELFObject.h.
| llvm::objcopy:π§:SectionBase::SectionBase ( ) | default |
|---|
Referenced by llvm::objcopy:π§:GroupSection::addMember(), llvm::objcopy:π§:SymbolTableSection::addSymbol(), llvm::objcopy:π§:CompressedSection::classof(), llvm::objcopy:π§:GroupSection::classof(), llvm::objcopy:π§:RelocationSectionBase::classof(), llvm::objcopy:π§:StringTableSection::classof(), llvm::objcopy:π§:SymbolTableSection::classof(), llvm::objcopy:π§:CompressedSection::CompressedSection(), llvm::objcopy:π§:DecompressedSection::DecompressedSection(), llvm::objcopy:π§:RelocationSectionBase::getSection(), llvm::objcopy:π§:SymbolTableSection::getStrTab(), llvm::objcopy:π§:GroupSection::onRemove(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:GroupSection::removeSectionReferences(), llvm::objcopy:π§:Section::removeSectionReferences(), removeSectionReferences(), llvm::objcopy:π§:SymbolTableSection::removeSectionReferences(), llvm::objcopy:π§:GroupSection::replaceSectionReferences(), llvm::objcopy:π§:SymbolTableSection::replaceSectionReferences(), SectionBase(), llvm::objcopy:π§:RelocationSectionBase::setSection(), and ~SectionBase().
β SectionBase() [2/2]
References SectionBase().
β ~SectionBase()
| virtual llvm::objcopy:π§:SectionBase::~SectionBase ( ) | virtualdefault |
|---|
β accept() [1/2]
Implemented in llvm::objcopy:π§:CompressedSection, llvm::objcopy:π§:DecompressedSection, llvm::objcopy:π§:DynamicRelocationSection, llvm::objcopy:π§:GnuDebugLinkSection, llvm::objcopy:π§:GroupSection, llvm::objcopy:π§:OwnedDataSection, llvm::objcopy:π§:RelocationSection, llvm::objcopy:π§:Section, llvm::objcopy:π§:SectionIndexSection, llvm::objcopy:π§:StringTableSection, and llvm::objcopy:π§:SymbolTableSection.
β accept() [2/2]
| virtual Error llvm::objcopy:π§:SectionBase::accept ( SectionVisitor & Visitor) const | pure virtual |
|---|
Implemented in llvm::objcopy:π§:CompressedSection, llvm::objcopy:π§:DecompressedSection, llvm::objcopy:π§:DynamicRelocationSection, llvm::objcopy:π§:GnuDebugLinkSection, llvm::objcopy:π§:GroupSection, llvm::objcopy:π§:OwnedDataSection, llvm::objcopy:π§:RelocationSection, llvm::objcopy:π§:Section, llvm::objcopy:π§:SectionIndexSection, llvm::objcopy:π§:StringTableSection, and llvm::objcopy:π§:SymbolTableSection.
Referenced by llvm::objcopy:π§:BinaryWriter::write().
β finalize()
| void SectionBase::finalize ( ) | virtual |
|---|
β getContents()
| virtual ArrayRef< uint8_t > llvm::objcopy:π§:SectionBase::getContents ( ) const | inlinevirtual |
|---|
β hasContents()
| virtual bool llvm::objcopy:π§:SectionBase::hasContents ( ) const | inlinevirtual |
|---|
β initialize()
β markSymbols()
| void SectionBase::markSymbols ( ) | virtual |
|---|
β onRemove()
| void SectionBase::onRemove ( ) | virtual |
|---|
β removeSectionReferences()
β removeSymbols()
β replaceSectionReferences()
β restoreSymTabLink()
| virtual void llvm::objcopy:π§:SectionBase::restoreSymTabLink ( SymbolTableSection & ) | inlinevirtual |
|---|
β Addr
uint64_t llvm::objcopy:π§:SectionBase::Addr = 0
β Align
uint64_t llvm::objcopy:π§:SectionBase::Align = 1
β EntrySize
uint32_t llvm::objcopy:π§:SectionBase::EntrySize = 0
β Flags
uint64_t llvm::objcopy:π§:SectionBase::Flags = 0
β HasSymbol
bool llvm::objcopy:π§:SectionBase::HasSymbol = false
β HeaderOffset
uint64_t llvm::objcopy:π§:SectionBase::HeaderOffset = 0
β Index
uint32_t llvm::objcopy:π§:SectionBase::Index = 0
β Info
uint64_t llvm::objcopy:π§:SectionBase::Info = 0
β Link
β Name
std::string llvm::objcopy:π§:SectionBase::Name
Definition at line 511 of file ELFObject.h.
Referenced by llvm::objcopy:π§:Object::addNewSymbolTable(), llvm::objcopy:π§:StringTableSection::addString(), llvm::objcopy:π§:BasicELFBuilder::addStrTab(), llvm::objcopy:π§:SymbolTableSection::addSymbol(), llvm::objcopy:π§:BasicELFBuilder::addSymTab(), llvm::objcopy:π§:ASCIIHexWriter::checkSection(), llvm::objcopy:π§:StringTableSection::findIndex(), handleArgs(), llvm::objcopy:π§:RelocSectionWithSymtabBase< SymTabType >::initialize(), llvm::objcopy:π§:Section::initialize(), llvm::objcopy:π§:SectionIndexSection::initialize(), initRelocations(), isDebugSection(), isDWOSection(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:GroupSection::removeSectionReferences(), llvm::objcopy:π§:SectionIndexSection::SectionIndexSection(), llvm::objcopy:π§:BinarySectionWriter::visit(), llvm::objcopy:π§:BinarySectionWriter::visit(), llvm::objcopy:π§:BinarySectionWriter::visit(), llvm::objcopy:π§:BinarySectionWriter::visit(), llvm::objcopy:π§:BinarySectionWriter::visit(), llvm::objcopy:π§:BinarySectionWriter::visit(), llvm::objcopy:π§:BinarySectionWriter::visit(), and llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit().
β NameIndex
uint64_t llvm::objcopy:π§:SectionBase::NameIndex = 0
β Offset
uint64_t llvm::objcopy:π§:SectionBase::Offset = 0
Definition at line 528 of file ELFObject.h.
Referenced by layoutSegmentsForOnlyKeepDebug(), setSectionType(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:SectionWriter::visit(), llvm::objcopy:π§:SectionWriter::visit(), llvm::objcopy:π§:SectionWriter::visit(), and llvm::objcopy:π§:BinaryWriter::write().
β OriginalData
β OriginalFlags
uint64_t llvm::objcopy:π§:SectionBase::OriginalFlags = 0
β OriginalIndex
uint32_t llvm::objcopy:π§:SectionBase::OriginalIndex = 0
β OriginalOffset
β OriginalType
Definition at line 518 of file ELFObject.h.
Referenced by llvm::objcopy:π§:DynamicRelocationSection::classof(), llvm::objcopy:π§:DynamicSection::classof(), llvm::objcopy:π§:DynamicSymbolTableSection::classof(), llvm::objcopy:π§:GroupSection::classof(), llvm::objcopy:π§:RelocationSectionBase::classof(), llvm::objcopy:π§:StringTableSection::classof(), llvm::objcopy:π§:SymbolTableSection::classof(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:SectionIndexSection::SectionIndexSection(), llvm::objcopy:π§:StringTableSection::StringTableSection(), and llvm::objcopy:π§:SymbolTableSection::SymbolTableSection().
β ParentSegment
Segment* llvm::objcopy:π§:SectionBase::ParentSegment = nullptr
β Size
uint64_t llvm::objcopy:π§:SectionBase::Size = 0
Definition at line 529 of file ELFObject.h.
Referenced by llvm::objcopy:π§:SectionIndexSection::addIndex(), llvm::objcopy:π§:SymbolTableSection::addSymbol(), llvm::objcopy:π§:OwnedDataSection::appendHexData(), llvm::objcopy:π§:ASCIIHexWriter::checkSection(), llvm::objcopy:π§:CompressedSection::CompressedSection(), llvm::objcopy:π§:DecompressedSection::DecompressedSection(), llvm::objcopy:π§:SectionIndexSection::initialize(), llvm::objcopy:π§:SymbolTableSection::initialize(), layoutSegmentsForOnlyKeepDebug(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:StringTableSection::prepareForLayout(), llvm::objcopy:π§:SymbolTableSection::removeSymbols(), llvm::objcopy:π§:SectionIndexSection::reserve(), sectionWithinSegment(), llvm::objcopy:π§:ELFSectionSizer< ELFT >::visit(), llvm::objcopy:π§:ELFSectionSizer< ELFT >::visit(), llvm::objcopy:π§:ELFSectionSizer< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit(), llvm::objcopy:π§:IHexSectionWriter::visit(), llvm::objcopy:π§:IHexSectionWriterBase::visit(), llvm::objcopy:π§:SRECSectionWriter::visit(), llvm::objcopy:π§:SRECSectionWriterBase::visit(), llvm::objcopy:π§:BinaryWriter::write(), llvm::objcopy:π§:IHexSectionWriterBase::writeSection(), and llvm::objcopy:π§:SRECSectionWriterBase::writeSection().
β Type
Definition at line 530 of file ELFObject.h.
Referenced by llvm::objcopy:π§:SymbolTableSection::addSymbol(), llvm::objcopy:π§:RelocationSectionBase::getNamePrefix(), handleArgs(), llvm::objcopy:π§:Section::hasContents(), layoutSegmentsForOnlyKeepDebug(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:OwnedDataSection::OwnedDataSection(), llvm::objcopy:π§:SectionIndexSection::SectionIndexSection(), sectionWithinSegment(), setSectionFlagsAndType(), setSectionType(), llvm::objcopy:π§:StringTableSection::StringTableSection(), llvm::objcopy:π§:SymbolTableSection::SymbolTableSection(), llvm::objcopy:π§:ELFSectionSizer< ELFT >::visit(), and llvm::objcopy:π§:ELFSectionWriter< ELFT >::visit().
The documentation for this class was generated from the following files:
- lib/ObjCopy/ELF/ELFObject.h
- lib/ObjCopy/ELF/ELFObject.cpp