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)

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)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:972

Parameters

bool EnsureSymtab

llvm::Error findEhdrOffset()

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:965

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)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:962

Parameters

llvm::objcopy::elf::SymbolTableSection* SymTab

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)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:960

Parameters

const ELFFile<ELFT>& HeadersFile

llvm::Error readSectionHeaders()

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:963

llvm::Error readSections(bool EnsureSymtab)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:964

Parameters

bool EnsureSymtab

void setParentSegment(
    llvm::objcopy::elf::Segment& Child)

Declared at: llvm/lib/ObjCopy/ELF/ELFObject.h:959

Parameters

llvm::objcopy::elf::Segment& Child