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()

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

β—† 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: