LLVM: llvm::objcopy:🧝:Object Class Reference (original) (raw)
#include "[ObjCopy/ELF/ELFObject.h](ELFObject%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| template<class T> | |
| using | ConstRange |
| Public Member Functions | |
|---|---|
| SectionTableRef | sections () const |
| iterator_range< filter_iterator< pointee_iterator< std::vector< SecPtr >::const_iterator >, decltype(§ionIsAlloc)> > | allocSections () const |
| const auto & | getUpdatedSections () const |
| Error | updateSection (StringRef Name, ArrayRef< uint8_t > Data) |
| Error | updateSectionData (SectionBase &S, ArrayRef< uint8_t > Data) |
| SectionBase * | findSection (StringRef Name) |
| SectionTableRef | removedSections () |
| ConstRange< Segment > | segments () const |
| Error | removeSections (bool AllowBrokenLinks, std::function< bool(const SectionBase &)> ToRemove) |
| Error | compressOrDecompressSections (const CommonConfig &Config) |
| Error | replaceSections (const DenseMap< SectionBase *, SectionBase * > &FromTo) |
| Error | removeSymbols (function_ref< bool(const Symbol &)> ToRemove) |
| template<class T, class... Ts> | |
| T & | addSection (Ts &&...Args) |
| Error | addNewSymbolTable () |
| Segment & | addSegment (ArrayRef< uint8_t > Data) |
| bool | isRelocatable () const |
| Public Attributes | |
|---|---|
| Segment | ElfHdrSegment |
| Segment | ProgramHdrSegment |
| bool | Is64Bits |
| uint8_t | OSABI |
| uint8_t | ABIVersion |
| uint64_t | Entry |
| uint64_t | SHOff |
| uint32_t | Type |
| uint32_t | Machine |
| uint32_t | Version |
| uint32_t | Flags |
| bool | HadShdrs = true |
| bool | MustBeRelocatable = false |
| StringTableSection * | SectionNames = nullptr |
| SymbolTableSection * | SymbolTable = nullptr |
| SectionIndexSection * | SectionIndexTable = nullptr |
| bool | IsMips64EL = false |
Definition at line 1158 of file ELFObject.h.
◆ ConstRange
Initial value:
A range adaptor for a pair of iterators.
An iterator type that allows iterating over the pointees via some other iterator.
Definition at line 1176 of file ELFObject.h.
◆ addNewSymbolTable()
| Error Object::addNewSymbolTable | ( | ) |
|---|
Definition at line 2293 of file ELFObject.cpp.
References addSection(), llvm::objcopy:🧝:SymbolTableSection::addSymbol(), assert(), llvm::objcopy:🧝:SectionBase::Index, llvm::objcopy:🧝:SymbolTableSection::initialize(), llvm::objcopy:🧝:SectionBase::Link, llvm::objcopy:🧝:SectionBase::Name, SectionNames, sections(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHT_STRTAB, llvm::Error::success(), and SymbolTable.
◆ addSection()
template<class T, class... Ts>
| T & llvm::objcopy:🧝:Object::addSection ( Ts &&... Args) | inline |
|---|
◆ addSegment()
◆ allocSections()
◆ compressOrDecompressSections()
Definition at line 212 of file ELFObjcopy.cpp.
References addSection(), llvm::objcopy::CommonConfig::CompressionType, llvm::objcopy::CommonConfig::compressSections, llvm::createStringError(), llvm::objcopy::CommonConfig::DecompressDebugSections, llvm::dyn_cast(), llvm::invalid_argument, Is64Bits, llvm::None, replaceSections(), sections(), llvm::ELF::SHF_ALLOC, llvm::StringRef::starts_with(), and T.
◆ findSection()
◆ getUpdatedSections()
| const auto & llvm::objcopy:🧝:Object::getUpdatedSections ( ) const | inline |
|---|
◆ isRelocatable()
| bool llvm::objcopy:🧝:Object::isRelocatable ( ) const | inline |
|---|
◆ removedSections()
◆ removeSections()
Definition at line 2200 of file ELFObject.cpp.
References llvm::all_of(), llvm::cast(), llvm::dyn_cast(), llvm::isa(), llvm::make_range(), llvm::objcopy:🧝:GroupSection::members(), llvm::objcopy:🧝:Segment::removeSection(), SectionIndexTable, SectionNames, llvm::ELF::SHT_GROUP, llvm::Error::success(), SymbolTable, and ToRemove.
Referenced by replaceSections().
◆ removeSymbols()
◆ replaceSections()
Definition at line 2261 of file ELFObject.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), I, llvm::is_sorted(), removeSections(), llvm::sort(), and llvm::Error::success().
Referenced by compressOrDecompressSections().
◆ sections()
◆ segments()
| ConstRange< Segment > llvm::objcopy:🧝:Object::segments ( ) const | inline |
|---|
◆ updateSection()
◆ updateSectionData()
◆ ABIVersion
uint8_t llvm::objcopy:🧝:Object::ABIVersion
◆ ElfHdrSegment
Segment llvm::objcopy:🧝:Object::ElfHdrSegment
◆ Entry
uint64_t llvm::objcopy:🧝:Object::Entry
◆ Flags
uint32_t llvm::objcopy:🧝:Object::Flags
◆ HadShdrs
bool llvm::objcopy:🧝:Object::HadShdrs = true
◆ Is64Bits
bool llvm::objcopy:🧝:Object::Is64Bits
◆ IsMips64EL
bool llvm::objcopy:🧝:Object::IsMips64EL = false
◆ Machine
uint32_t llvm::objcopy:🧝:Object::Machine
◆ MustBeRelocatable
bool llvm::objcopy:🧝:Object::MustBeRelocatable = false
◆ OSABI
uint8_t llvm::objcopy:🧝:Object::OSABI
◆ ProgramHdrSegment
Segment llvm::objcopy:🧝:Object::ProgramHdrSegment
◆ SectionIndexTable
◆ SectionNames
◆ SHOff
uint64_t llvm::objcopy:🧝:Object::SHOff
◆ SymbolTable
◆ Type
uint32_t llvm::objcopy:🧝:Object::Type
◆ Version
uint32_t llvm::objcopy:🧝:Object::Version
The documentation for this class was generated from the following files:
- lib/ObjCopy/ELF/ELFObject.h
- lib/ObjCopy/ELF/ELFObjcopy.cpp
- lib/ObjCopy/ELF/ELFObject.cpp