LLVM 17.0.0git
|
#include "ObjCopy/ELF/ELFObject.h"
Public Member Functions | |
StringTableSection () | |
void | addString (StringRef Name) |
uint32_t | findIndex (StringRef Name) const |
void | prepareForLayout () |
Error | accept (SectionVisitor &Visitor) const override |
Error | accept (MutableSectionVisitor &Visitor) override |
![]() | |
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 void | onRemove () |
Static Public Member Functions | |
static bool | classof (const SectionBase *S) |
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 587 of file ELFObject.h.
|
inline |
Definition at line 593 of file ELFObject.h.
References llvm::objcopy::elf::SectionBase::OriginalType, and llvm::ELF::SHT_STRTAB.
|
overridevirtual |
Implements llvm::objcopy::elf::SectionBase.
Definition at line 586 of file ELFObject.cpp.
References llvm::objcopy::elf::MutableSectionVisitor::visit().
|
overridevirtual |
Implements llvm::objcopy::elf::SectionBase.
Definition at line 582 of file ELFObject.cpp.
References llvm::objcopy::elf::SectionVisitor::visit().
void StringTableSection::addString | ( | StringRef | Name | ) |
Definition at line 565 of file ELFObject.cpp.
References llvm::StringTableBuilder::add(), and llvm::objcopy::elf::SectionBase::Name.
Referenced by llvm::objcopy::elf::SymbolTableSection::prepareForLayout().
|
inlinestatic |
Definition at line 603 of file ELFObject.h.
References llvm::objcopy::elf::SectionBase::OriginalFlags, llvm::objcopy::elf::SectionBase::OriginalType, llvm::ELF::SHF_ALLOC, and llvm::ELF::SHT_STRTAB.
Definition at line 567 of file ELFObject.cpp.
References llvm::StringTableBuilder::getOffset(), and llvm::objcopy::elf::SectionBase::Name.
void StringTableSection::prepareForLayout | ( | ) |
Definition at line 571 of file ELFObject.cpp.
References llvm::StringTableBuilder::finalize(), llvm::StringTableBuilder::getSize(), and llvm::objcopy::elf::SectionBase::Size.