class ELFBuilder
Declaration
template <class ELFT>
class ELFBuilder { /* full declaration omitted */ };
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:948
Templates
- ELFT
Member Variables
- private const ELFFile<ELFT>& ElfFile
- private llvm::objcopy::elf::Object& Obj
- private size_t EhdrOffset = 0
- private Optional<llvm::StringRef> ExtractPartition
Method Overview
- public ELFBuilder<ELFT>(const ELFObjectFile<ELFT> & ElfObj, llvm::objcopy::elf::Object & Obj, Optional<llvm::StringRef> ExtractPartition)
- public llvm::Error build(bool EnsureSymtab)
- private llvm::Error findEhdrOffset()
- private llvm::Error initGroupSection(llvm::objcopy::elf::GroupSection * GroupSec)
- private llvm::Error initSymbolTable(llvm::objcopy::elf::SymbolTableSection * SymTab)
- private Expected<llvm::objcopy::elf::SectionBase &> makeSection(const llvm::objcopy::elf::ELFBuilder::Elf_Shdr & Shdr)
- private llvm::Error readProgramHeaders(const ELFFile<ELFT> & HeadersFile)
- private llvm::Error readSectionHeaders()
- private llvm::Error readSections(bool EnsureSymtab)
- private void setParentSegment(llvm::objcopy::elf::Segment & Child)
Methods
¶ELFBuilder<ELFT>(
const ELFObjectFile<ELFT>& ElfObj,
llvm::objcopy::elf::Object& Obj,
Optional<llvm::StringRef> ExtractPartition)
ELFBuilder<ELFT>(
const ELFObjectFile<ELFT>& ElfObj,
llvm::objcopy::elf::Object& Obj,
Optional<llvm::StringRef> ExtractPartition)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:969
Parameters
- const ELFObjectFile<ELFT>& ElfObj
- llvm::objcopy::elf::Object& Obj
- Optional<llvm::StringRef> ExtractPartition
¶llvm::Error build(bool EnsureSymtab)
llvm::Error build(bool EnsureSymtab)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:972
Parameters
- bool EnsureSymtab
¶llvm::Error findEhdrOffset()
llvm::Error findEhdrOffset()
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:965
¶llvm::Error initGroupSection(
llvm::objcopy::elf::GroupSection* GroupSec)
llvm::Error initGroupSection(
llvm::objcopy::elf::GroupSection* GroupSec)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:961
Parameters
- llvm::objcopy::elf::GroupSection* GroupSec
¶llvm::Error initSymbolTable(
llvm::objcopy::elf::SymbolTableSection*
SymTab)
llvm::Error initSymbolTable(
llvm::objcopy::elf::SymbolTableSection*
SymTab)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:962
Parameters
¶Expected<llvm::objcopy::elf::SectionBase&>
makeSection(const llvm::objcopy::elf::ELFBuilder::
Elf_Shdr& Shdr)
Expected<llvm::objcopy::elf::SectionBase&>
makeSection(const llvm::objcopy::elf::ELFBuilder::
Elf_Shdr& Shdr)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:966
Parameters
- const llvm::objcopy::elf::ELFBuilder::Elf_Shdr& Shdr
¶llvm::Error readProgramHeaders(
const ELFFile<ELFT>& HeadersFile)
llvm::Error readProgramHeaders(
const ELFFile<ELFT>& HeadersFile)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:960
Parameters
- const ELFFile<ELFT>& HeadersFile
¶llvm::Error readSectionHeaders()
llvm::Error readSectionHeaders()
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:963
¶llvm::Error readSections(bool EnsureSymtab)
llvm::Error readSections(bool EnsureSymtab)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:964
Parameters
- bool EnsureSymtab
¶void setParentSegment(
llvm::objcopy::elf::Segment& Child)
void setParentSegment(
llvm::objcopy::elf::Segment& Child)
Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:959
Parameters
- llvm::objcopy::elf::Segment& Child