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.
β restoreSymTabLink()
| 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:
- lib/ObjCopy/ELF/ELFObject.h
- lib/ObjCopy/ELF/ELFObject.cpp