LLVM
15.0.0git
|
#include "ObjCopy/ELF/ELFObject.h"
Public Member Functions | |
virtual | ~SectionIndexSection () |
void | addIndex (uint32_t Index) |
void | reserve (size_t NumSymbols) |
void | setSymTab (SymbolTableSection *SymTab) |
Error | initialize (SectionTableRef SecTable) override |
void | finalize () override |
Error | accept (SectionVisitor &Visitor) const override |
Error | accept (MutableSectionVisitor &Visitor) override |
SectionIndexSection () | |
![]() | |
SectionBase ()=default | |
SectionBase (const SectionBase &)=default | |
virtual | ~SectionBase ()=default |
virtual Error | removeSectionReferences (bool AllowBrokenLinks, function_ref< bool(const SectionBase *)> ToRemove) |
virtual Error | removeSymbols (function_ref< bool(const Symbol &)> ToRemove) |
virtual void | markSymbols () |
virtual void | replaceSectionReferences (const DenseMap< SectionBase *, SectionBase * > &) |
virtual bool | hasContents () const |
virtual void | onRemove () |
Additional Inherited Members | |
![]() | |
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 649 of file ELFObject.h.
|
inlinevirtual |
Definition at line 657 of file ELFObject.h.
|
inline |
Definition at line 673 of file ELFObject.h.
References llvm::objcopy::elf::SectionBase::EntrySize, llvm::objcopy::elf::SectionBase::Name, llvm::objcopy::elf::SectionBase::OriginalType, and llvm::ELF::SHT_SYMTAB_SHNDX.
|
overridevirtual |
Implements llvm::objcopy::elf::SectionBase.
Definition at line 633 of file ELFObject.cpp.
References llvm::objcopy::elf::MutableSectionVisitor::visit().
|
overridevirtual |
Implements llvm::objcopy::elf::SectionBase.
Definition at line 629 of file ELFObject.cpp.
References llvm::objcopy::elf::SectionVisitor::visit().
|
inline |
Definition at line 658 of file ELFObject.h.
References assert(), and llvm::objcopy::elf::SectionBase::Size.
Referenced by llvm::objcopy::elf::SymbolTableSection::fillShndxTable().
|
overridevirtual |
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 627 of file ELFObject.cpp.
References llvm::objcopy::elf::SectionBase::Index, and llvm::objcopy::elf::SectionBase::Link.
|
overridevirtual |
Reimplemented from llvm::objcopy::elf::SectionBase.
Definition at line 610 of file ELFObject.cpp.
References llvm::objcopy::elf::SectionTableRef::getSectionOfType(), llvm::objcopy::elf::SectionBase::Link, llvm::objcopy::elf::SectionBase::Name, llvm::objcopy::elf::SymbolTableSection::setShndxTable(), setSymTab(), llvm::objcopy::elf::SectionBase::Size, llvm::Error::success(), and llvm::Expected< T >::takeError().
|
inline |
Definition at line 663 of file ELFObject.h.
References llvm::objcopy::elf::SectionBase::Size.
Referenced by llvm::objcopy::elf::SymbolTableSection::prepareForLayout(), and llvm::objcopy::elf::Object::removeSections().
|
inline |
Definition at line 667 of file ELFObject.h.
Referenced by llvm::objcopy::elf::ELFWriter< ELFT >::finalize(), and initialize().