LLVM 22.0.0git
llvm::objcopy::coff::Object Struct Reference

#include "ObjCopy/COFF/COFFObject.h"

Public Member Functions

ArrayRef< SymbolgetSymbols () const
iterator_range< std::vector< Symbol >::iterator > getMutableSymbols ()
const SymbolfindSymbol (size_t UniqueId) const
void addSymbols (ArrayRef< Symbol > NewSymbols)
Error removeSymbols (function_ref< Expected< bool >(const Symbol &)> ToRemove)
Error markSymbols ()
ArrayRef< SectiongetSections () const
iterator_range< std::vector< Section >::iterator > getMutableSections ()
const SectionfindSection (ssize_t UniqueId) const
void addSections (ArrayRef< Section > NewSections)
void removeSections (function_ref< bool(const Section &)> ToRemove)
void truncateSections (function_ref< bool(const Section &)> ToTruncate)

Public Attributes

bool IsPE = false
object::dos_header DosHeader
ArrayRef< uint8_tDosStub
object::coff_file_header CoffFileHeader
bool Is64 = false
object::pe32plus_header PeHeader
uint32_t BaseOfData = 0
std::vector< object::data_directoryDataDirectories

Detailed Description

Definition at line 96 of file COFFObject.h.

Member Function Documentation

◆ addSections()

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

Definition at line 69 of file COFFObject.cpp.

Referenced by llvm::objcopy::coff::addSection().

◆ addSymbols()

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

Definition at line 18 of file COFFObject.cpp.

◆ findSection()

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

Definition at line 86 of file COFFObject.cpp.

◆ findSymbol()

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

Definition at line 34 of file COFFObject.cpp.

◆ getMutableSections()

iterator_range< std::vector< Section >::iterator > llvm::objcopy::coff::Object::getMutableSections ( )
inline

Definition at line 129 of file COFFObject.h.

References llvm::make_range().

Referenced by llvm::objcopy::coff::handleArgs().

◆ getMutableSymbols()

iterator_range< std::vector< Symbol >::iterator > llvm::objcopy::coff::Object::getMutableSymbols ( )
inline

Definition at line 113 of file COFFObject.h.

References llvm::make_range().

Referenced by llvm::objcopy::coff::handleArgs().

◆ getSections()

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

Definition at line 126 of file COFFObject.h.

Referenced by llvm::objcopy::coff::getNextRVA().

◆ getSymbols()

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

Definition at line 110 of file COFFObject.h.

◆ markSymbols()

Error llvm::objcopy::coff::Object::markSymbols ( )

Definition at line 54 of file COFFObject.cpp.

References llvm::createStringError(), and llvm::Error::success().

Referenced by llvm::objcopy::coff::handleArgs().

◆ removeSections()

◆ removeSymbols()

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

◆ truncateSections()

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

Definition at line 121 of file COFFObject.cpp.

Referenced by llvm::objcopy::coff::handleArgs().

Member Data Documentation

◆ BaseOfData

uint32_t llvm::objcopy::coff::Object::BaseOfData = 0

Definition at line 106 of file COFFObject.h.

◆ CoffFileHeader

object::coff_file_header llvm::objcopy::coff::Object::CoffFileHeader

Definition at line 102 of file COFFObject.h.

◆ DataDirectories

std::vector<object::data_directory> llvm::objcopy::coff::Object::DataDirectories

Definition at line 108 of file COFFObject.h.

Referenced by llvm::objcopy::coff::handleArgs().

◆ DosHeader

object::dos_header llvm::objcopy::coff::Object::DosHeader

Definition at line 99 of file COFFObject.h.

◆ DosStub

ArrayRef<uint8_t> llvm::objcopy::coff::Object::DosStub

Definition at line 100 of file COFFObject.h.

◆ Is64

bool llvm::objcopy::coff::Object::Is64 = false

Definition at line 104 of file COFFObject.h.

◆ IsPE

bool llvm::objcopy::coff::Object::IsPE = false

◆ PeHeader

object::pe32plus_header llvm::objcopy::coff::Object::PeHeader

The documentation for this struct was generated from the following files: