struct Object

Declaration

struct Object { /* full declaration omitted */ };

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:96

Member Variables

public bool IsPE = false
public object::dos_header DosHeader
public ArrayRef<uint8_t> DosStub
public object::coff_file_header CoffFileHeader
public bool Is64 = false
public object::pe32plus_header PeHeader
public uint32_t BaseOfData = 0
public std::vector<object::data_directory> DataDirectories
private std::vector<Symbol> Symbols
private DenseMap<size_t, llvm::objcopy::coff::Symbol*> SymbolMap
private size_t NextSymbolUniqueId = 0
private std::vector<Section> Sections
private DenseMap<ssize_t, llvm::objcopy::coff::Section*> SectionMap
private ssize_t NextSectionUniqueId = 1

Method Overview

  • public void addSections(ArrayRef<llvm::objcopy::coff::Section> NewSections)
  • public void addSymbols(ArrayRef<llvm::objcopy::coff::Symbol> NewSymbols)
  • public const llvm::objcopy::coff::Section * findSection(ssize_t UniqueId) const
  • public const llvm::objcopy::coff::Symbol * findSymbol(size_t UniqueId) const
  • public iterator_range<std::vector<Section>::iterator> getMutableSections()
  • public iterator_range<std::vector<Symbol>::iterator> getMutableSymbols()
  • public ArrayRef<llvm::objcopy::coff::Section> getSections() const
  • public ArrayRef<llvm::objcopy::coff::Symbol> getSymbols() const
  • public llvm::Error markSymbols()
  • public void removeSections(function_ref<bool (const llvm::objcopy::coff::Section &)> ToRemove)
  • public llvm::Error removeSymbols(function_ref<Expected<bool> (const llvm::objcopy::coff::Symbol &)> ToRemove)
  • public void truncateSections(function_ref<bool (const llvm::objcopy::coff::Section &)> ToTruncate)
  • private void updateSections()
  • private void updateSymbols()

Methods

void addSections(
    ArrayRef<llvm::objcopy::coff::Section>
        NewSections)

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:135

Parameters

ArrayRef<llvm::objcopy::coff::Section> NewSections

void addSymbols(
    ArrayRef<llvm::objcopy::coff::Symbol>
        NewSymbols)

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:119

Parameters

ArrayRef<llvm::objcopy::coff::Symbol> NewSymbols

const llvm::objcopy::coff::Section* findSection(
    ssize_t UniqueId) const

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:133

Parameters

ssize_t UniqueId

const llvm::objcopy::coff::Symbol* findSymbol(
    size_t UniqueId) const

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:117

Parameters

size_t UniqueId

iterator_range<std::vector<Section>::iterator>
getMutableSections()

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:129

iterator_range<std::vector<Symbol>::iterator>
getMutableSymbols()

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:113

ArrayRef<llvm::objcopy::coff::Section>
getSections() const

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:126

ArrayRef<llvm::objcopy::coff::Symbol> getSymbols()
    const

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:110

llvm::Error markSymbols()

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:124

void removeSections(
    function_ref<
        bool(const llvm::objcopy::coff::Section&)>
        ToRemove)

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:136

Parameters

function_ref<bool( const llvm::objcopy::coff::Section&)> ToRemove

llvm::Error removeSymbols(
    function_ref<Expected<bool>(
        const llvm::objcopy::coff::Symbol&)>
        ToRemove)

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:120

Parameters

function_ref<Expected<bool>( const llvm::objcopy::coff::Symbol&)> ToRemove

void truncateSections(
    function_ref<
        bool(const llvm::objcopy::coff::Section&)>
        ToTruncate)

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:137

Parameters

function_ref<bool( const llvm::objcopy::coff::Section&)> ToTruncate

void updateSections()

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:154

void updateSymbols()

Declared at: llvm/lib/ObjCopy/COFF/COFFObject.h:151