LLVM: llvm::objcopy:🧝:Section Class Reference (original) (raw)

#include "[ObjCopy/ELF/ELFObject.h](ELFObject%5F8h%5Fsource.html)"

Inheritance diagram for llvm::objcopy:🧝:Section:

[legend]

Public Member Functions
Section (ArrayRef< uint8_t > Data)
Error accept (SectionVisitor &Visitor) const override
Error accept (MutableSectionVisitor &Visitor) override
Error removeSectionReferences (bool AllowBrokenLinks, function_ref< bool(const SectionBase *)> ToRemove) override
Error initialize (SectionTableRef SecTable) override
void finalize () override
bool hasContents () const override
ArrayRef< uint8_t > getContents () const override
void restoreSymTabLink (SymbolTableSection &SymTab) override
Public Member Functions inherited from llvm::objcopy:🧝:SectionBase
SectionBase ()=default
SectionBase (const SectionBase &)=default
virtual ~SectionBase ()=default
virtual Error removeSymbols (function_ref< bool(const Symbol &)> ToRemove)
virtual void markSymbols ()
virtual void replaceSectionReferences (const DenseMap< SectionBase *, SectionBase * > &)
virtual void onRemove ()
Additional Inherited Members
Public Attributes inherited from llvm::objcopy:🧝:SectionBase
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

Detailed Description

Definition at line 603 of file ELFObject.h.

Constructor & Destructor Documentation

llvm::objcopy:🧝:Section::Section ( ArrayRef< uint8_t > Data) inlineexplicit

Definition at line 611 of file ELFObject.h.

References llvm::Data.

Referenced by llvm::objcopy:🧝:DynamicSection::DynamicSection(), and llvm::objcopy:🧝:DynamicSymbolTableSection::DynamicSymbolTableSection().

Member Function Documentation

β—† accept() [1/2]

Error Section::accept ( MutableSectionVisitor & Visitor) overridevirtual

Implements llvm::objcopy:🧝:SectionBase.

Definition at line 444 of file ELFObject.cpp.

References llvm::objcopy:🧝:MutableSectionVisitor::visit().

β—† accept() [2/2]

Error Section::accept ( SectionVisitor & Visitor) const overridevirtual

Implements llvm::objcopy:🧝:SectionBase.

Definition at line 440 of file ELFObject.cpp.

References llvm::objcopy:🧝:SectionVisitor::visit().

β—† finalize()

void Section::finalize ( ) overridevirtual

Reimplemented from llvm::objcopy:🧝:SectionBase.

Definition at line 1153 of file ELFObject.cpp.

References llvm::objcopy:🧝:SectionBase::Link.

β—† getContents()

ArrayRef< uint8_t > llvm::objcopy:🧝:Section::getContents ( ) const inlineoverridevirtual

Reimplemented from llvm::objcopy:🧝:SectionBase.

Definition at line 623 of file ELFObject.h.

β—† hasContents()

bool llvm::objcopy:🧝:Section::hasContents ( ) const inlineoverridevirtual

Reimplemented from llvm::objcopy:🧝:SectionBase.

Definition at line 620 of file ELFObject.h.

References llvm::ELF::SHT_NOBITS, llvm::ELF::SHT_NULL, and llvm::objcopy:🧝:SectionBase::Type.

β—† initialize()

Error Section::initialize ( SectionTableRef SecTable) overridevirtual

Reimplemented from llvm::objcopy:🧝:SectionBase.

Definition at line 1133 of file ELFObject.cpp.

References llvm::objcopy:🧝:SectionTableRef::getSection(), llvm::objcopy:🧝:SectionBase::Link, llvm::objcopy:🧝:SectionBase::Name, llvm::ELF::SHN_UNDEF, llvm::ELF::SHT_SYMTAB, llvm::Error::success(), and llvm::Expected< T >::takeError().

Referenced by llvm::objcopy:🧝:BasicELFBuilder::initSections().

β—† removeSectionReferences()

Error Section::removeSectionReferences ( bool AllowBrokenLinks, function_ref< bool(const SectionBase *)> ToRemove ) overridevirtual

Reimplemented from llvm::objcopy:🧝:SectionBase.

Definition at line 1064 of file ELFObject.cpp.

References llvm::createStringError(), llvm::invalid_argument, llvm::objcopy:🧝:SectionBase::SectionBase(), llvm::Error::success(), and ToRemove.

void Section::restoreSymTabLink ( SymbolTableSection & SymTab) overridevirtual

Reimplemented from llvm::objcopy:🧝:SectionBase.

Definition at line 448 of file ELFObject.cpp.

References assert().


The documentation for this class was generated from the following files: