LLVM 22.0.0git
|
#include "ObjCopy/ELF/ELFObject.h"
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::elf::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::elf::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 |
Definition at line 603 of file ELFObject.h.
Definition at line 611 of file ELFObject.h.
References llvm::Data.
Referenced by llvm::objcopy::elf::DynamicSection::DynamicSection(), and llvm::objcopy::elf::DynamicSymbolTableSection::DynamicSymbolTableSection().
|
overridevirtual |
Implements llvm::objcopy::elf::SectionBase.
Definition at line 444 of file ELFObject.cpp.
References llvm::objcopy::elf::MutableSectionVisitor::visit().
|
overridevirtual |
Implements llvm::objcopy::elf::SectionBase.
Definition at line 440 of file ELFObject.cpp.
References llvm::objcopy::elf::SectionVisitor::visit().
|
overridevirtual |
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 1153 of file ELFObject.cpp.
References llvm::objcopy::elf::SectionBase::Link.
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 623 of file ELFObject.h.
|
inlineoverridevirtual |
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 620 of file ELFObject.h.
References llvm::ELF::SHT_NOBITS, llvm::ELF::SHT_NULL, and llvm::objcopy::elf::SectionBase::Type.
|
overridevirtual |
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 1133 of file ELFObject.cpp.
References llvm::objcopy::elf::SectionTableRef::getSection(), llvm::objcopy::elf::SectionBase::Link, llvm::objcopy::elf::SectionBase::Name, llvm::ELF::SHN_UNDEF, llvm::ELF::SHT_SYMTAB, llvm::Error::success(), and llvm::Expected< T >::takeError().
Referenced by llvm::objcopy::elf::BasicELFBuilder::initSections().
|
overridevirtual |
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 1064 of file ELFObject.cpp.
References llvm::createStringError(), llvm::invalid_argument, llvm::objcopy::elf::SectionBase::SectionBase(), llvm::Error::success(), and ToRemove.
|
overridevirtual |
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 448 of file ELFObject.cpp.
References assert().