LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
llvm::object::COFFObjectFile Class Reference

#include <COFF.h>

Inheritance diagram for llvm::object::COFFObjectFile:
Inheritance graph
[legend]
Collaboration diagram for llvm::object::COFFObjectFile:
Collaboration graph
[legend]

Public Member Functions

 COFFObjectFile (MemoryBuffer *Object, error_code &ec)
 
virtual symbol_iterator begin_symbols () const
 
virtual symbol_iterator end_symbols () const
 
virtual symbol_iterator begin_dynamic_symbols () const
 
virtual symbol_iterator end_dynamic_symbols () const
 
virtual library_iterator begin_libraries_needed () const
 
virtual library_iterator end_libraries_needed () const
 
virtual section_iterator begin_sections () const
 
virtual section_iterator end_sections () const
 
const coff_sectiongetCOFFSection (section_iterator &It) const
 
const coff_symbolgetCOFFSymbol (symbol_iterator &It) const
 
const coff_relocationgetCOFFRelocation (relocation_iterator &It) const
 
virtual uint8_t getBytesInAddress () const
 The number of bytes used to represent an address in this object file format. More...
 
virtual StringRef getFileFormatName () const
 
virtual unsigned getArch () const
 
virtual StringRef getLoadName () const
 
import_directory_iterator import_directory_begin () const
 
import_directory_iterator import_directory_end () const
 
error_code getHeader (const coff_file_header *&Res) const
 
error_code getCOFFHeader (const coff_file_header *&Res) const
 
error_code getPE32Header (const pe32_header *&Res) const
 
error_code getDataDirectory (uint32_t index, const data_directory *&Res) const
 
error_code getSection (int32_t index, const coff_section *&Res) const
 
error_code getSymbol (uint32_t index, const coff_symbol *&Res) const
 
template<typename T >
error_code getAuxSymbol (uint32_t index, const T *&Res) const
 
error_code getSymbolName (const coff_symbol *symbol, StringRef &Res) const
 
ArrayRef< uint8_t > getSymbolAuxData (const coff_symbol *symbol) const
 
error_code getSectionName (const coff_section *Sec, StringRef &Res) const
 
error_code getSectionContents (const coff_section *Sec, ArrayRef< uint8_t > &Res) const
 
error_code getRvaPtr (uint32_t Rva, uintptr_t &Res) const
 
error_code getHintName (uint32_t Rva, uint16_t &Hint, StringRef &Name) const
 
- Public Member Functions inherited from llvm::object::Binary
virtual ~Binary ()
 
StringRef getData () const
 
StringRef getFileName () const
 
unsigned int getType () const
 
bool isObject () const
 
bool isArchive () const
 
bool isMachOUniversalBinary () const
 
bool isELF () const
 
bool isMachO () const
 
bool isCOFF () const
 
bool isLittleEndian () const
 

Static Public Member Functions

static bool classof (const Binary *v)
 
- Static Public Member Functions inherited from llvm::object::ObjectFile
static ObjectFilecreateObjectFile (StringRef ObjectPath)
 Create ObjectFile from path. More...
 
static ObjectFilecreateObjectFile (MemoryBuffer *Object)
 
static bool classof (const Binary *v)
 
static ObjectFilecreateCOFFObjectFile (MemoryBuffer *Object)
 
static ObjectFilecreateELFObjectFile (MemoryBuffer *Object)
 
static ObjectFilecreateMachOObjectFile (MemoryBuffer *Object)
 

Protected Member Functions

virtual error_code getSymbolNext (DataRefImpl Symb, SymbolRef &Res) const
 
virtual error_code getSymbolName (DataRefImpl Symb, StringRef &Res) const
 
virtual error_code getSymbolFileOffset (DataRefImpl Symb, uint64_t &Res) const
 
virtual error_code getSymbolAddress (DataRefImpl Symb, uint64_t &Res) const
 
virtual error_code getSymbolSize (DataRefImpl Symb, uint64_t &Res) const
 
virtual error_code getSymbolFlags (DataRefImpl Symb, uint32_t &Res) const
 
virtual error_code getSymbolType (DataRefImpl Symb, SymbolRef::Type &Res) const
 
virtual error_code getSymbolSection (DataRefImpl Symb, section_iterator &Res) const
 
virtual error_code getSymbolValue (DataRefImpl Symb, uint64_t &Val) const
 
virtual error_code getSectionNext (DataRefImpl Sec, SectionRef &Res) const
 
virtual error_code getSectionName (DataRefImpl Sec, StringRef &Res) const
 
virtual error_code getSectionAddress (DataRefImpl Sec, uint64_t &Res) const
 
virtual error_code getSectionSize (DataRefImpl Sec, uint64_t &Res) const
 
virtual error_code getSectionContents (DataRefImpl Sec, StringRef &Res) const
 
virtual error_code getSectionAlignment (DataRefImpl Sec, uint64_t &Res) const
 
virtual error_code isSectionText (DataRefImpl Sec, bool &Res) const
 
virtual error_code isSectionData (DataRefImpl Sec, bool &Res) const
 
virtual error_code isSectionBSS (DataRefImpl Sec, bool &Res) const
 
virtual error_code isSectionVirtual (DataRefImpl Sec, bool &Res) const
 
virtual error_code isSectionZeroInit (DataRefImpl Sec, bool &Res) const
 
virtual error_code isSectionReadOnlyData (DataRefImpl Sec, bool &Res) const
 
virtual error_code isSectionRequiredForExecution (DataRefImpl Sec, bool &Res) const
 
virtual error_code sectionContainsSymbol (DataRefImpl Sec, DataRefImpl Symb, bool &Result) const
 
virtual relocation_iterator section_rel_begin (DataRefImpl Sec) const
 
virtual relocation_iterator section_rel_end (DataRefImpl Sec) const
 
virtual error_code getRelocationNext (DataRefImpl Rel, RelocationRef &Res) const
 
virtual error_code getRelocationAddress (DataRefImpl Rel, uint64_t &Res) const
 
virtual error_code getRelocationOffset (DataRefImpl Rel, uint64_t &Res) const
 
virtual symbol_iterator getRelocationSymbol (DataRefImpl Rel) const
 
virtual error_code getRelocationType (DataRefImpl Rel, uint64_t &Res) const
 
virtual error_code getRelocationTypeName (DataRefImpl Rel, SmallVectorImpl< char > &Result) const
 
virtual error_code getRelocationValueString (DataRefImpl Rel, SmallVectorImpl< char > &Result) const
 
virtual error_code getLibraryNext (DataRefImpl LibData, LibraryRef &Result) const
 
virtual error_code getLibraryPath (DataRefImpl LibData, StringRef &Result) const
 
- Protected Member Functions inherited from llvm::object::ObjectFile
 ObjectFile (unsigned int Type, MemoryBuffer *source)
 
const uint8_t * base () const
 
virtual error_code getSymbolAlignment (DataRefImpl Symb, uint32_t &Res) const
 
virtual section_iterator getRelocatedSection (DataRefImpl Sec) const
 
virtual error_code getRelocationHidden (DataRefImpl Rel, bool &Result) const
 
- Protected Member Functions inherited from llvm::object::Binary
 Binary (unsigned int Type, MemoryBuffer *Source)
 

Friends

class ImportDirectoryEntryRef
 

Additional Inherited Members

- Protected Types inherited from llvm::object::Binary
enum  {
  ID_Archive, ID_MachOUniversalBinary, ID_StartObjects, ID_COFF,
  ID_ELF32L, ID_ELF32B, ID_ELF64L, ID_ELF64B,
  ID_MachO32L, ID_MachO32B, ID_MachO64L, ID_MachO64B,
  ID_EndObjects
}
 
- Static Protected Member Functions inherited from llvm::object::Binary
static unsigned int getELFType (bool isLE, bool is64Bits)
 
static unsigned int getMachOType (bool isLE, bool is64Bits)
 
- Protected Attributes inherited from llvm::object::Binary
MemoryBufferData
 

Detailed Description

Definition at line 223 of file Object/COFF.h.

Constructor & Destructor Documentation

COFFObjectFile::COFFObjectFile ( MemoryBuffer Object,
error_code ec 
)

Member Function Documentation

symbol_iterator COFFObjectFile::begin_dynamic_symbols ( ) const
virtual

Implements llvm::object::ObjectFile.

Definition at line 540 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

library_iterator COFFObjectFile::begin_libraries_needed ( ) const
virtual

Implements llvm::object::ObjectFile.

Definition at line 550 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

section_iterator COFFObjectFile::begin_sections ( ) const
virtual
symbol_iterator COFFObjectFile::begin_symbols ( ) const
virtual
static bool llvm::object::COFFObjectFile::classof ( const Binary v)
inlinestatic

Definition at line 341 of file Object/COFF.h.

References llvm::object::Binary::isCOFF().

symbol_iterator COFFObjectFile::end_dynamic_symbols ( ) const
virtual

Implements llvm::object::ObjectFile.

Definition at line 545 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

library_iterator COFFObjectFile::end_libraries_needed ( ) const
virtual

Implements llvm::object::ObjectFile.

Definition at line 555 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

section_iterator COFFObjectFile::end_sections ( ) const
virtual
symbol_iterator COFFObjectFile::end_symbols ( ) const
virtual
unsigned COFFObjectFile::getArch ( ) const
virtual
template<typename T >
error_code llvm::object::COFFObjectFile::getAuxSymbol ( uint32_t  index,
const T *&  Res 
) const
inline

Definition at line 325 of file Object/COFF.h.

References getSymbol().

uint8_t COFFObjectFile::getBytesInAddress ( ) const
virtual

The number of bytes used to represent an address in this object file format.

Implements llvm::object::ObjectFile.

Definition at line 596 of file COFFObjectFile.cpp.

References getArch(), and llvm::Triple::x86_64.

error_code COFFObjectFile::getCOFFHeader ( const coff_file_header *&  Res) const

Definition at line 628 of file COFFObjectFile.cpp.

References llvm::object::object_error::success.

Referenced by getHeader().

const coff_relocation * COFFObjectFile::getCOFFRelocation ( relocation_iterator It) const

Definition at line 800 of file COFFObjectFile.cpp.

const coff_section * COFFObjectFile::getCOFFSection ( section_iterator It) const

Definition at line 792 of file COFFObjectFile.cpp.

Referenced by getRvaPtr().

const coff_symbol * COFFObjectFile::getCOFFSymbol ( symbol_iterator It) const

Definition at line 796 of file COFFObjectFile.cpp.

error_code COFFObjectFile::getDataDirectory ( uint32_t  index,
const data_directory *&  Res 
) const
StringRef COFFObjectFile::getFileFormatName ( ) const
virtual
error_code COFFObjectFile::getHeader ( const coff_file_header *&  Res) const

Definition at line 624 of file COFFObjectFile.cpp.

References getCOFFHeader().

error_code COFFObjectFile::getHintName ( uint32_t  Rva,
uint16_t &  Hint,
StringRef Name 
) const

Definition at line 415 of file COFFObjectFile.cpp.

References getRvaPtr(), and llvm::object::object_error::success.

error_code COFFObjectFile::getLibraryNext ( DataRefImpl  LibData,
LibraryRef Result 
) const
protectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 875 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

error_code COFFObjectFile::getLibraryPath ( DataRefImpl  LibData,
StringRef Result 
) const
protectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 880 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

StringRef COFFObjectFile::getLoadName ( ) const
virtual

For shared objects, returns the name which this object should be loaded from at runtime. This corresponds to DT_SONAME on ELF and LC_ID_DYLIB (install name) on MachO.

Implements llvm::object::ObjectFile.

Definition at line 560 of file COFFObjectFile.cpp.

error_code COFFObjectFile::getPE32Header ( const pe32_header *&  Res) const

Definition at line 633 of file COFFObjectFile.cpp.

References llvm::object::object_error::success.

error_code COFFObjectFile::getRelocationAddress ( DataRefImpl  Rel,
uint64_t &  Res 
) const
protectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 770 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

error_code COFFObjectFile::getRelocationNext ( DataRefImpl  Rel,
RelocationRef Res 
) const
protectedvirtual
error_code COFFObjectFile::getRelocationOffset ( DataRefImpl  Rel,
uint64_t &  Res 
) const
protectedvirtual
symbol_iterator COFFObjectFile::getRelocationSymbol ( DataRefImpl  Rel) const
protectedvirtual
error_code COFFObjectFile::getRelocationType ( DataRefImpl  Rel,
uint64_t &  Res 
) const
protectedvirtual
error_code COFFObjectFile::getRelocationTypeName ( DataRefImpl  Rel,
SmallVectorImpl< char > &  Result 
) const
protectedvirtual
error_code COFFObjectFile::getRelocationValueString ( DataRefImpl  Rel,
SmallVectorImpl< char > &  Result 
) const
protectedvirtual
error_code COFFObjectFile::getRvaPtr ( uint32_t  Rva,
uintptr_t &  Res 
) const
error_code COFFObjectFile::getSection ( int32_t  index,
const coff_section *&  Res 
) const
error_code COFFObjectFile::getSectionAddress ( DataRefImpl  Sec,
uint64_t &  Res 
) const
protectedvirtual
error_code COFFObjectFile::getSectionAlignment ( DataRefImpl  Sec,
uint64_t &  Res 
) const
protectedvirtual
virtual error_code llvm::object::COFFObjectFile::getSectionContents ( DataRefImpl  Sec,
StringRef Res 
) const
protectedvirtual
error_code llvm::object::COFFObjectFile::getSectionContents ( const coff_section Sec,
ArrayRef< uint8_t > &  Res 
) const
virtual error_code llvm::object::COFFObjectFile::getSectionName ( DataRefImpl  Sec,
StringRef Res 
) const
protectedvirtual
error_code llvm::object::COFFObjectFile::getSectionName ( const coff_section Sec,
StringRef Res 
) const
error_code COFFObjectFile::getSectionNext ( DataRefImpl  Sec,
SectionRef Res 
) const
protectedvirtual
error_code COFFObjectFile::getSectionSize ( DataRefImpl  Sec,
uint64_t &  Res 
) const
protectedvirtual
error_code COFFObjectFile::getSymbol ( uint32_t  index,
const coff_symbol *&  Res 
) const
error_code COFFObjectFile::getSymbolAddress ( DataRefImpl  Symb,
uint64_t &  Res 
) const
protectedvirtual
ArrayRef< uint8_t > COFFObjectFile::getSymbolAuxData ( const coff_symbol symbol) const
error_code COFFObjectFile::getSymbolFileOffset ( DataRefImpl  Symb,
uint64_t &  Res 
) const
protectedvirtual
error_code COFFObjectFile::getSymbolFlags ( DataRefImpl  Symb,
uint32_t &  Res 
) const
protectedvirtual
virtual error_code llvm::object::COFFObjectFile::getSymbolName ( DataRefImpl  Symb,
StringRef Res 
) const
protectedvirtual
error_code llvm::object::COFFObjectFile::getSymbolName ( const coff_symbol symbol,
StringRef Res 
) const
error_code COFFObjectFile::getSymbolNext ( DataRefImpl  Symb,
SymbolRef Res 
) const
protectedvirtual
error_code COFFObjectFile::getSymbolSection ( DataRefImpl  Symb,
section_iterator Res 
) const
protectedvirtual
error_code COFFObjectFile::getSymbolSize ( DataRefImpl  Symb,
uint64_t &  Res 
) const
protectedvirtual
error_code COFFObjectFile::getSymbolType ( DataRefImpl  Symb,
SymbolRef::Type Res 
) const
protectedvirtual
error_code COFFObjectFile::getSymbolValue ( DataRefImpl  Symb,
uint64_t &  Val 
) const
protectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 225 of file COFFObjectFile.cpp.

References llvm::report_fatal_error().

import_directory_iterator COFFObjectFile::import_directory_begin ( ) const

Definition at line 565 of file COFFObjectFile.cpp.

References ImportDirectoryEntryRef, and llvm::object::DataRefImpl::p.

import_directory_iterator COFFObjectFile::import_directory_end ( ) const

Definition at line 571 of file COFFObjectFile.cpp.

References ImportDirectoryEntryRef, and llvm::object::DataRefImpl::p.

error_code COFFObjectFile::isSectionBSS ( DataRefImpl  Sec,
bool Res 
) const
protectedvirtual
error_code COFFObjectFile::isSectionData ( DataRefImpl  Sec,
bool Res 
) const
protectedvirtual
error_code COFFObjectFile::isSectionReadOnlyData ( DataRefImpl  Sec,
bool Res 
) const
protectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 319 of file COFFObjectFile.cpp.

References llvm::object::object_error::success.

error_code COFFObjectFile::isSectionRequiredForExecution ( DataRefImpl  Sec,
bool Res 
) const
protectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 298 of file COFFObjectFile.cpp.

References llvm::object::object_error::success.

error_code COFFObjectFile::isSectionText ( DataRefImpl  Sec,
bool Res 
) const
protectedvirtual
error_code COFFObjectFile::isSectionVirtual ( DataRefImpl  Sec,
bool Res 
) const
protectedvirtual
error_code COFFObjectFile::isSectionZeroInit ( DataRefImpl  Sec,
bool Res 
) const
protectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 312 of file COFFObjectFile.cpp.

References llvm::object::object_error::success.

relocation_iterator COFFObjectFile::section_rel_begin ( DataRefImpl  Sec) const
protectedvirtual
relocation_iterator COFFObjectFile::section_rel_end ( DataRefImpl  Sec) const
protectedvirtual
error_code COFFObjectFile::sectionContainsSymbol ( DataRefImpl  Sec,
DataRefImpl  Symb,
bool Result 
) const
protectedvirtual

Friends And Related Function Documentation

friend class ImportDirectoryEntryRef
friend

Definition at line 225 of file Object/COFF.h.

Referenced by import_directory_begin(), and import_directory_end().


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