class Object
Declaration
class Object { /* full declaration omitted */ };
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1017
Member Variables
- private std::vector<SecPtr> Sections
- private std::vector<SegPtr> Segments
- private std::vector<SecPtr> RemovedSections
- private DenseMap<llvm::objcopy::elf::SectionBase*, std::vector<uint8_t>> UpdatedSections
- public llvm::objcopy::elf::Segment ElfHdrSegment
- public llvm::objcopy::elf::Segment ProgramHdrSegment
- public uint8_t OSABI
- public uint8_t ABIVersion
- public uint64_t Entry
- public uint64_t SHOff
- public uint32_t Type
- public uint32_t Machine
- public uint32_t Version
- public uint32_t Flags
- public bool HadShdrs = true
- public bool MustBeRelocatable = false
- public llvm::objcopy::elf::StringTableSection* SectionNames = nullptr
- public llvm::objcopy::elf::SymbolTableSection* SymbolTable = nullptr
- public llvm::objcopy::elf::SectionIndexSection* SectionIndexTable = nullptr
- public bool IsMips64EL = false
Method Overview
- public llvm::Error addNewSymbolTable()
- public template <class T, class... Ts>T & addSection(Ts &&... Args)
- public llvm::objcopy::elf::Segment & addSegment(ArrayRef<uint8_t> Data)
- public iterator_range<filter_iterator<pointee_iterator<std::vector<SecPtr>::const_iterator>, decltype(§ionIsAlloc)>> allocSections() const
- public llvm::objcopy::elf::SectionBase * findSection(llvm::StringRef Name)
- public const DenseMap<llvm::objcopy::elf::SectionBase *, std::vector<uint8_t>> & getUpdatedSections() const
- public bool isRelocatable() const
- public llvm::Error removeSections(bool AllowBrokenLinks, std::function<bool (const SectionBase &)> ToRemove)
- public llvm::Error removeSymbols(function_ref<bool (const llvm::objcopy::elf::Symbol &)> ToRemove)
- public llvm::objcopy::elf::SectionTableRef removedSections()
- public llvm::Error replaceSections(const DenseMap<llvm::objcopy::elf::SectionBase *, llvm::objcopy::elf::SectionBase *> & FromTo)
- private static bool sectionIsAlloc(const llvm::objcopy::elf::SectionBase & Sec)
- public llvm::objcopy::elf::SectionTableRef sections() const
- public ConstRange<llvm::objcopy::elf::Segment> segments() const
- public llvm::Error updateSection(llvm::StringRef Name, ArrayRef<uint8_t> Data)
Methods
¶llvm::Error addNewSymbolTable()
llvm::Error addNewSymbolTable()
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1094
¶template <class T, class... Ts>
T& addSection(Ts&&... Args)
template <class T, class... Ts>
T& addSection(Ts&&... Args)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1086
Templates
- T
- Ts
Parameters
- Ts&&... Args
¶llvm::objcopy::elf::Segment& addSegment(
ArrayRef<uint8_t> Data)
llvm::objcopy::elf::Segment& addSegment(
ArrayRef<uint8_t> Data)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1095
Parameters
- ArrayRef<uint8_t> Data
¶iterator_range<
filter_iterator<pointee_iterator<std::vector<
SecPtr>::const_iterator>,
decltype(§ionIsAlloc)>>
allocSections() const
iterator_range<
filter_iterator<pointee_iterator<std::vector<
SecPtr>::const_iterator>,
decltype(§ionIsAlloc)>>
allocSections() const
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1066
¶llvm::objcopy::elf::SectionBase* findSection(
llvm::StringRef Name)
llvm::objcopy::elf::SectionBase* findSection(
llvm::StringRef Name)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1073
Parameters
- llvm::StringRef Name
¶const DenseMap<llvm::objcopy::elf::SectionBase*,
std::vector<uint8_t>>&
getUpdatedSections() const
const DenseMap<llvm::objcopy::elf::SectionBase*,
std::vector<uint8_t>>&
getUpdatedSections() const
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1070
¶bool isRelocatable() const
bool isRelocatable() const
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1099
¶llvm::Error removeSections(
bool AllowBrokenLinks,
std::function<bool(const SectionBase&)>
ToRemove)
llvm::Error removeSections(
bool AllowBrokenLinks,
std::function<bool(const SectionBase&)>
ToRemove)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1082
Parameters
- bool AllowBrokenLinks
- std::function<bool(const SectionBase&)> ToRemove
¶llvm::Error removeSymbols(
function_ref<
bool(const llvm::objcopy::elf::Symbol&)>
ToRemove)
llvm::Error removeSymbols(
function_ref<
bool(const llvm::objcopy::elf::Symbol&)>
ToRemove)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1085
Parameters
- function_ref<bool( const llvm::objcopy::elf::Symbol&)> ToRemove
¶llvm::objcopy::elf::SectionTableRef
removedSections()
llvm::objcopy::elf::SectionTableRef
removedSections()
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1078
¶llvm::Error replaceSections(
const DenseMap<
llvm::objcopy::elf::SectionBase*,
llvm::objcopy::elf::SectionBase*>& FromTo)
llvm::Error replaceSections(
const DenseMap<
llvm::objcopy::elf::SectionBase*,
llvm::objcopy::elf::SectionBase*>& FromTo)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1084
Parameters
- const DenseMap<llvm::objcopy::elf::SectionBase*, llvm::objcopy::elf::SectionBase*>& FromTo
¶static bool sectionIsAlloc(
const llvm::objcopy::elf::SectionBase& Sec)
static bool sectionIsAlloc(
const llvm::objcopy::elf::SectionBase& Sec)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1027
Parameters
- const llvm::objcopy::elf::SectionBase& Sec
¶llvm::objcopy::elf::SectionTableRef sections()
const
llvm::objcopy::elf::SectionTableRef sections()
const
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1062
¶ConstRange<llvm::objcopy::elf::Segment> segments()
const
ConstRange<llvm::objcopy::elf::Segment> segments()
const
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1080
¶llvm::Error updateSection(llvm::StringRef Name,
ArrayRef<uint8_t> Data)
llvm::Error updateSection(llvm::StringRef Name,
ArrayRef<uint8_t> Data)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:1071
Parameters
- llvm::StringRef Name
- ArrayRef<uint8_t> Data