LLVM
15.0.0git
|
#include "llvm/Object/COFF.h"
Friends | |
class | ImportDirectoryEntryRef |
class | ExportDirectoryEntryRef |
Additional Inherited Members | |
![]() | |
using | symbol_iterator_range = iterator_range< symbol_iterator > |
using | section_iterator_range = iterator_range< section_iterator > |
![]() | |
using | basic_symbol_iterator_range = iterator_range< basic_symbol_iterator > |
![]() | |
enum | { ID_Archive, ID_MachOUniversalBinary, ID_COFFImportFile, ID_IR, ID_TapiUniversal, ID_TapiFile, ID_Minidump, ID_WinRes, ID_Offload, ID_StartObjects, ID_COFF, ID_XCOFF32, ID_XCOFF64, ID_ELF32L, ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L, ID_MachO32B, ID_MachO64L, ID_MachO64B, ID_Wasm, ID_EndObjects } |
![]() | |
static unsigned int | getELFType (bool isLE, bool is64Bits) |
static unsigned int | getMachOType (bool isLE, bool is64Bits) |
![]() | |
MemoryBufferRef | Data |
base_reloc_iterator COFFObjectFile::base_reloc_begin | ( | ) | const |
Definition at line 995 of file COFFObjectFile.cpp.
Referenced by base_relocs().
base_reloc_iterator COFFObjectFile::base_reloc_end | ( | ) | const |
Definition at line 999 of file COFFObjectFile.cpp.
Referenced by base_relocs().
iterator_range< base_reloc_iterator > COFFObjectFile::base_relocs | ( | ) | const |
Definition at line 1059 of file COFFObjectFile.cpp.
References base_reloc_begin(), base_reloc_end(), and llvm::make_range().
Definition at line 1112 of file COFF.h.
References llvm::object::Binary::isCOFF().
|
static |
Definition at line 760 of file COFFObjectFile.cpp.
References E, move, and llvm::Object.
Referenced by llvm::object::ObjectFile::createCOFFObjectFile(), and getCOFFFileMachine().
|
inline |
Definition at line 1012 of file COFF.h.
References debug_directory_begin(), debug_directory_end(), and llvm::make_range().
|
inline |
Definition at line 1000 of file COFF.h.
Referenced by debug_directories().
|
inline |
Definition at line 1003 of file COFF.h.
Referenced by debug_directories().
iterator_range< delay_import_directory_iterator > COFFObjectFile::delay_import_directories | ( | ) | const |
Definition at line 1049 of file COFFObjectFile.cpp.
References delay_import_directory_begin(), delay_import_directory_end(), and llvm::make_range().
delay_import_directory_iterator COFFObjectFile::delay_import_directory_begin | ( | ) | const |
Definition at line 956 of file COFFObjectFile.cpp.
Referenced by delay_import_directories().
delay_import_directory_iterator COFFObjectFile::delay_import_directory_end | ( | ) | const |
Definition at line 962 of file COFFObjectFile.cpp.
Referenced by delay_import_directories().
iterator_range< export_directory_iterator > COFFObjectFile::export_directories | ( | ) | const |
Definition at line 1055 of file COFFObjectFile.cpp.
References export_directory_begin(), export_directory_end(), and llvm::make_range().
export_directory_iterator COFFObjectFile::export_directory_begin | ( | ) | const |
Definition at line 968 of file COFFObjectFile.cpp.
References ExportDirectoryEntryRef.
Referenced by export_directories().
export_directory_iterator COFFObjectFile::export_directory_end | ( | ) | const |
Definition at line 973 of file COFFObjectFile.cpp.
References llvm::object::export_directory_table_entry::AddressTableEntries, ExportDirectoryEntryRef, and llvm::Ref.
Referenced by export_directories().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1022 of file COFFObjectFile.cpp.
References llvm::Triple::aarch64, getMachine(), llvm::COFF::IMAGE_FILE_MACHINE_AMD64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT, llvm::COFF::IMAGE_FILE_MACHINE_I386, llvm::Triple::thumb, llvm::Triple::UnknownArch, llvm::Triple::x86, and llvm::Triple::x86_64.
Referenced by getBytesInAddress().
|
inline |
Definition at line 1050 of file COFF.h.
References E, getSymbol(), index, S, llvm::Error::success(), and T.
|
overridevirtual |
The number of bytes used to represent an address in this object file format.
Implements llvm::object::ObjectFile.
Definition at line 1003 of file COFFObjectFile.cpp.
References llvm::Triple::aarch64, getArch(), and llvm::Triple::x86_64.
|
inline |
Definition at line 877 of file COFF.h.
References llvm::object::coff_file_header::Characteristics, llvm::object::coff_file_header::isImportLibrary(), and llvm_unreachable.
|
inline |
|
inline |
const coff_relocation * COFFObjectFile::getCOFFRelocation | ( | const RelocationRef & | Reloc | ) | const |
Definition at line 1254 of file COFFObjectFile.cpp.
References llvm::object::RelocationRef::getRawDataRefImpl().
const coff_section * COFFObjectFile::getCOFFSection | ( | const SectionRef & | Section | ) | const |
Definition at line 1237 of file COFFObjectFile.cpp.
Referenced by getRvaAndSizeAsBytes(), and getRvaPtr().
COFFSymbolRef COFFObjectFile::getCOFFSymbol | ( | const DataRefImpl & | Ref | ) | const |
Definition at line 1241 of file COFFObjectFile.cpp.
References llvm_unreachable, and llvm::Ref.
Referenced by getCOFFSymbol(), getCommonSymbolSizeImpl(), getSymbolAddress(), getSymbolAlignment(), getSymbolFlags(), getSymbolSection(), getSymbolSectionID(), getSymbolType(), and getSymbolValueImpl().
COFFSymbolRef COFFObjectFile::getCOFFSymbol | ( | const SymbolRef & | Symbol | ) | const |
Definition at line 1249 of file COFFObjectFile.cpp.
References getCOFFSymbol(), and llvm::ARMBuildAttrs::Symbol.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 241 of file COFFObjectFile.cpp.
References getCOFFSymbol(), llvm::object::COFFSymbolRef::getValue(), and llvm::Ref.
const data_directory * COFFObjectFile::getDataDirectory | ( | uint32_t | index | ) | const |
Definition at line 1063 of file COFFObjectFile.cpp.
References assert(), llvm::object::pe32_header::NumberOfRvaAndSize, and llvm::object::pe32plus_header::NumberOfRvaAndSize.
Referenced by llvm::object::ExportDirectoryEntryRef::isForwarder().
Error llvm::object::COFFObjectFile::getDebugPDBInfo | ( | const codeview::DebugInfo *& | Info, |
StringRef & | PDBFileName | ||
) | const |
Get PDB information from an executable.
If the information is not present, Info will be set to nullptr and PDBFileName will be empty. An error is returned only on corrupt object files. Convenience accessor that can be used if the debug directory is not already handy.
Error llvm::object::COFFObjectFile::getDebugPDBInfo | ( | const debug_directory * | DebugDir, |
const codeview::DebugInfo *& | Info, | ||
StringRef & | PDBFileName | ||
) | const |
Get PDB information out of a codeview debug directory entry.
Referenced by getPdbPathFromExe().
|
inline |
Definition at line 1023 of file COFF.h.
References llvm::object::ObjectFile::base().
Referenced by getSectionSize().
|
inlineoverridevirtual |
Implements llvm::object::ObjectFile.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1007 of file COFFObjectFile.cpp.
References getMachine(), llvm::COFF::IMAGE_FILE_MACHINE_AMD64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT, and llvm::COFF::IMAGE_FILE_MACHINE_I386.
Definition at line 535 of file COFFObjectFile.cpp.
References E, getRvaPtr(), and llvm::Error::success().
uint64_t COFFObjectFile::getImageBase | ( | ) | const |
Definition at line 455 of file COFFObjectFile.cpp.
References llvm::object::pe32_header::ImageBase, and llvm::object::pe32plus_header::ImageBase.
Referenced by getSectionAddress(), getSymbolAddress(), and getVaPtr().
|
inline |
|
inline |
|
inline |
Definition at line 859 of file COFF.h.
References llvm_unreachable, llvm::object::coff_file_header::Machine, and llvm::object::coff_bigobj_file_header::Machine.
Referenced by getArch(), getFileFormatName(), and getRelocationTypeName().
|
inline |
Definition at line 895 of file COFF.h.
References llvm::object::coff_file_header::isImportLibrary(), llvm_unreachable, llvm::object::coff_file_header::NumberOfSections, and llvm::object::coff_bigobj_file_header::NumberOfSections.
Referenced by getSection(), and section_end().
|
inline |
Definition at line 920 of file COFF.h.
References getRawNumberOfSymbols().
Referenced by getRelocationSymbol(), getSymbol(), getSymbolAuxData(), and getSymbolIndex().
|
inline |
|
inline |
|
inline |
Definition at line 903 of file COFF.h.
References llvm::object::coff_file_header::isImportLibrary(), llvm_unreachable, llvm::object::coff_file_header::PointerToSymbolTable, and llvm::object::coff_bigobj_file_header::PointerToSymbolTable.
Referenced by getSymbolAuxData(), and toSymb().
|
inline |
Definition at line 912 of file COFF.h.
References llvm::object::coff_file_header::isImportLibrary(), llvm_unreachable, llvm::object::coff_file_header::NumberOfSymbols, and llvm::object::coff_bigobj_file_header::NumberOfSymbols.
Referenced by getNumberOfSymbols().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1212 of file COFFObjectFile.cpp.
ArrayRef< coff_relocation > COFFObjectFile::getRelocations | ( | const coff_section * | Sec | ) | const |
Definition at line 1259 of file COFFObjectFile.cpp.
References llvm::object::ObjectFile::base(), llvm::object::Binary::Data, getFirstReloc(), and getNumberOfRelocations().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1217 of file COFFObjectFile.cpp.
References getNumberOfSymbols(), llvm_unreachable, llvm::Ref, symbol_end(), and llvm::object::ObjectFile::SymbolRef.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1231 of file COFFObjectFile.cpp.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1268 of file COFFObjectFile.cpp.
References getMachine(), llvm::COFF::IMAGE_FILE_MACHINE_AMD64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT, llvm::COFF::IMAGE_FILE_MACHINE_I386, llvm::COFF::IMAGE_REL_AMD64_ABSOLUTE, llvm::COFF::IMAGE_REL_AMD64_ADDR32, llvm::COFF::IMAGE_REL_AMD64_ADDR32NB, llvm::COFF::IMAGE_REL_AMD64_ADDR64, llvm::COFF::IMAGE_REL_AMD64_PAIR, llvm::COFF::IMAGE_REL_AMD64_REL32, llvm::COFF::IMAGE_REL_AMD64_REL32_1, llvm::COFF::IMAGE_REL_AMD64_REL32_2, llvm::COFF::IMAGE_REL_AMD64_REL32_3, llvm::COFF::IMAGE_REL_AMD64_REL32_4, llvm::COFF::IMAGE_REL_AMD64_REL32_5, llvm::COFF::IMAGE_REL_AMD64_SECREL, llvm::COFF::IMAGE_REL_AMD64_SECREL7, llvm::COFF::IMAGE_REL_AMD64_SECTION, llvm::COFF::IMAGE_REL_AMD64_SREL32, llvm::COFF::IMAGE_REL_AMD64_SSPAN32, llvm::COFF::IMAGE_REL_AMD64_TOKEN, llvm::COFF::IMAGE_REL_ARM64_ABSOLUTE, llvm::COFF::IMAGE_REL_ARM64_ADDR32, llvm::COFF::IMAGE_REL_ARM64_ADDR32NB, llvm::COFF::IMAGE_REL_ARM64_ADDR64, llvm::COFF::IMAGE_REL_ARM64_BRANCH14, llvm::COFF::IMAGE_REL_ARM64_BRANCH19, llvm::COFF::IMAGE_REL_ARM64_BRANCH26, llvm::COFF::IMAGE_REL_ARM64_PAGEBASE_REL21, llvm::COFF::IMAGE_REL_ARM64_PAGEOFFSET_12A, llvm::COFF::IMAGE_REL_ARM64_PAGEOFFSET_12L, llvm::COFF::IMAGE_REL_ARM64_REL21, llvm::COFF::IMAGE_REL_ARM64_REL32, llvm::COFF::IMAGE_REL_ARM64_SECREL, llvm::COFF::IMAGE_REL_ARM64_SECREL_HIGH12A, llvm::COFF::IMAGE_REL_ARM64_SECREL_LOW12A, llvm::COFF::IMAGE_REL_ARM64_SECREL_LOW12L, llvm::COFF::IMAGE_REL_ARM64_SECTION, llvm::COFF::IMAGE_REL_ARM64_TOKEN, llvm::COFF::IMAGE_REL_ARM_ABSOLUTE, llvm::COFF::IMAGE_REL_ARM_ADDR32, llvm::COFF::IMAGE_REL_ARM_ADDR32NB, llvm::COFF::IMAGE_REL_ARM_BLX11, llvm::COFF::IMAGE_REL_ARM_BLX23T, llvm::COFF::IMAGE_REL_ARM_BLX24, llvm::COFF::IMAGE_REL_ARM_BRANCH11, llvm::COFF::IMAGE_REL_ARM_BRANCH20T, llvm::COFF::IMAGE_REL_ARM_BRANCH24, llvm::COFF::IMAGE_REL_ARM_BRANCH24T, llvm::COFF::IMAGE_REL_ARM_MOV32A, llvm::COFF::IMAGE_REL_ARM_MOV32T, llvm::COFF::IMAGE_REL_ARM_PAIR, llvm::COFF::IMAGE_REL_ARM_REL32, llvm::COFF::IMAGE_REL_ARM_SECREL, llvm::COFF::IMAGE_REL_ARM_SECTION, llvm::COFF::IMAGE_REL_ARM_TOKEN, llvm::COFF::IMAGE_REL_I386_ABSOLUTE, llvm::COFF::IMAGE_REL_I386_DIR16, llvm::COFF::IMAGE_REL_I386_DIR32, llvm::COFF::IMAGE_REL_I386_DIR32NB, llvm::COFF::IMAGE_REL_I386_REL16, llvm::COFF::IMAGE_REL_I386_REL32, llvm::COFF::IMAGE_REL_I386_SECREL, llvm::COFF::IMAGE_REL_I386_SECREL7, llvm::COFF::IMAGE_REL_I386_SECTION, llvm::COFF::IMAGE_REL_I386_SEG12, llvm::COFF::IMAGE_REL_I386_TOKEN, and LLVM_COFF_SWITCH_RELOC_TYPE_NAME.
Error COFFObjectFile::getRvaAndSizeAsBytes | ( | uint32_t | RVA, |
uint32_t | Size, | ||
ArrayRef< uint8_t > & | Contents, | ||
const char * | ErrorContext = nullptr |
||
) | const |
Given an RVA base and size, returns a valid array of bytes or an error code if the RVA and size is not contained completely within a valid section.
Definition at line 507 of file COFFObjectFile.cpp.
References llvm::object::ObjectFile::base(), llvm::createStringError(), getCOFFSection(), llvm::object::parse_failed, S, llvm::object::ObjectFile::sections(), and llvm::Error::success().
Error COFFObjectFile::getRvaPtr | ( | uint32_t | Rva, |
uintptr_t & | Res, | ||
const char * | ErrorContext = nullptr |
||
) | const |
Definition at line 473 of file COFFObjectFile.cpp.
References Addr, llvm::object::ObjectFile::base(), llvm::createStringError(), getCOFFSection(), llvm::object::parse_failed, S, llvm::object::ObjectFile::sections(), and llvm::Error::success().
Referenced by llvm::object::ExportDirectoryEntryRef::getDllName(), llvm::object::ExportDirectoryEntryRef::getExportRVA(), llvm::object::ExportDirectoryEntryRef::getForwardTo(), getHintName(), llvm::object::DelayImportDirectoryEntryRef::getImportAddress(), llvm::object::ImportDirectoryEntryRef::getName(), llvm::object::DelayImportDirectoryEntryRef::getName(), llvm::object::ImportedSymbolRef::getOrdinal(), llvm::object::ExportDirectoryEntryRef::getSymbolName(), llvm::object::ImportedSymbolRef::getSymbolName(), and getVaPtr().
Expected< const coff_section * > COFFObjectFile::getSection | ( | int32_t | index | ) | const |
Definition at line 1074 of file COFFObjectFile.cpp.
References llvm::createStringError(), getNumberOfSections(), llvm::COFF::isReservedSectionNumber(), and llvm::object::parse_failed.
Referenced by getSymbolAddress(), and getSymbolSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 275 of file COFFObjectFile.cpp.
References getImageBase(), llvm::Ref, and llvm::object::coff_section::VirtualAddress.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 302 of file COFFObjectFile.cpp.
References llvm::object::coff_section::getAlignment(), and llvm::Ref.
Error COFFObjectFile::getSectionContents | ( | const coff_section * | Sec, |
ArrayRef< uint8_t > & | Res | ||
) | const |
Definition at line 1185 of file COFFObjectFile.cpp.
References llvm::object::ObjectFile::base(), llvm::object::Binary::checkOffset(), llvm::object::Binary::Data, E, getSectionSize(), llvm::makeArrayRef(), llvm::object::coff_section::PointerToRawData, llvm::COFF::SectionSize, and llvm::Error::success().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
unsigned COFFObjectFile::getSectionID | ( | SectionRef | Sec | ) | const |
Definition at line 342 of file COFFObjectFile.cpp.
References assert(), llvm::object::SectionRef::getRawDataRefImpl(), and llvm::object::DataRefImpl::p.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 285 of file COFFObjectFile.cpp.
Expected< StringRef > COFFObjectFile::getSectionName | ( | const coff_section * | Sec | ) | const |
Definition at line 1148 of file COFFObjectFile.cpp.
References llvm::createStringError(), decodeBase64StringEntry(), llvm::object::coff_section::Name, llvm::COFF::NameSize, llvm::object::parse_failed, and llvm::StringRef::split().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Referenced by isDebugSection().
uint64_t COFFObjectFile::getSectionSize | ( | const coff_section * | Sec | ) | const |
Definition at line 1169 of file COFFObjectFile.cpp.
References getDOSHeader(), llvm::min(), llvm::object::coff_section::SizeOfRawData, and llvm::object::coff_section::VirtualSize.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Referenced by getSectionContents().
|
inline |
Definition at line 867 of file COFF.h.
References llvm::object::coff_file_header::isImportLibrary(), llvm_unreachable, and llvm::object::coff_file_header::SizeOfOptionalHeader.
Reimplemented from llvm::object::ObjectFile.
Definition at line 1037 of file COFFObjectFile.cpp.
References llvm::object::pe32_header::AddressOfEntryPoint.
|
inline |
|
inline |
Definition at line 1039 of file COFF.h.
References llvm::errorCodeToError(), getNumberOfSymbols(), index, and llvm::object::parse_failed.
Referenced by getAuxSymbol().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 166 of file COFFObjectFile.cpp.
References llvm::cantFail(), getCOFFSymbol(), getImageBase(), getSection(), llvm::object::COFFSymbolRef::getSectionNumber(), llvm::object::ObjectFile::getSymbolValue(), llvm::object::COFFSymbolRef::isAnyUndefined(), llvm::object::COFFSymbolRef::isCommon(), llvm::COFF::isReservedSectionNumber(), and llvm::Ref.
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 159 of file COFFObjectFile.cpp.
References getCOFFSymbol(), llvm::object::COFFSymbolRef::getValue(), llvm::min(), llvm::PowerOf2Ceil(), and llvm::Ref.
ArrayRef< uint8_t > COFFObjectFile::getSymbolAuxData | ( | COFFSymbolRef | Symbol | ) | const |
Definition at line 1115 of file COFFObjectFile.cpp.
References assert(), llvm::object::ObjectFile::base(), getNumberOfSymbols(), getPointerToSymbolTable(), getSymbolTableEntrySize(), llvm::makeArrayRef(), llvm::report_fatal_error(), and llvm::ARMBuildAttrs::Symbol.
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 210 of file COFFObjectFile.cpp.
References getCOFFSymbol(), llvm::object::COFFSymbolRef::getSectionNumber(), llvm::object::COFFSymbolRef::getWeakExternal(), llvm::COFF::IMAGE_SYM_ABSOLUTE, llvm::COFF::IMAGE_WEAK_EXTERN_SEARCH_ALIAS, llvm::object::COFFSymbolRef::isCommon(), llvm::object::COFFSymbolRef::isExternal(), llvm::object::COFFSymbolRef::isFileRecord(), llvm::object::COFFSymbolRef::isSectionDefinition(), llvm::object::COFFSymbolRef::isUndefined(), llvm::object::COFFSymbolRef::isWeakExternal(), llvm::Ref, llvm::object::BasicSymbolRef::SF_Absolute, llvm::object::BasicSymbolRef::SF_Common, llvm::object::BasicSymbolRef::SF_FormatSpecific, llvm::object::BasicSymbolRef::SF_Global, llvm::object::BasicSymbolRef::SF_None, llvm::object::BasicSymbolRef::SF_Undefined, and llvm::object::BasicSymbolRef::SF_Weak.
uint32_t COFFObjectFile::getSymbolIndex | ( | COFFSymbolRef | Symbol | ) | const |
Definition at line 1137 of file COFFObjectFile.cpp.
References assert(), getNumberOfSymbols(), getSymbolTable(), getSymbolTableEntrySize(), and llvm::ARMBuildAttrs::Symbol.
Expected< StringRef > COFFObjectFile::getSymbolName | ( | COFFSymbolRef | Symbol | ) | const |
Definition at line 1096 of file COFFObjectFile.cpp.
References getSymbolName(), and llvm::ARMBuildAttrs::Symbol.
Expected< StringRef > COFFObjectFile::getSymbolName | ( | const coff_symbol_generic * | Symbol | ) | const |
Definition at line 1101 of file COFFObjectFile.cpp.
References llvm::COFF::NameSize, and llvm::ARMBuildAttrs::Symbol.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Referenced by getSymbolName().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 247 of file COFFObjectFile.cpp.
References getCOFFSymbol(), getSection(), llvm::object::COFFSymbolRef::getSectionNumber(), llvm::COFF::isReservedSectionNumber(), llvm::Ref, llvm::MipsISD::Ret, section_end(), llvm::object::ObjectFile::SectionRef, and llvm::Expected< T >::takeError().
unsigned COFFObjectFile::getSymbolSectionID | ( | SymbolRef | Sym | ) | const |
Definition at line 259 of file COFFObjectFile.cpp.
References getCOFFSymbol(), llvm::object::BasicSymbolRef::getRawDataRefImpl(), and llvm::object::COFFSymbolRef::getSectionNumber().
|
inline |
Definition at line 851 of file COFF.h.
Referenced by getSymbolIndex(), and symbol_begin().
|
inline |
Definition at line 1065 of file COFF.h.
References llvm_unreachable.
Referenced by getSymbolAuxData(), and getSymbolIndex().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 187 of file COFFObjectFile.cpp.
References getCOFFSymbol(), llvm::object::COFFSymbolRef::getComplexType(), llvm::object::COFFSymbolRef::getSectionNumber(), llvm::COFF::IMAGE_SYM_DEBUG, llvm::COFF::IMAGE_SYM_DTYPE_FUNCTION, llvm::object::COFFSymbolRef::isAnyUndefined(), llvm::object::COFFSymbolRef::isCommon(), llvm::object::COFFSymbolRef::isFileRecord(), llvm::COFF::isReservedSectionNumber(), llvm::object::COFFSymbolRef::isSectionDefinition(), llvm::Ref, llvm::object::SymbolRef::ST_Data, llvm::object::SymbolRef::ST_Debug, llvm::object::SymbolRef::ST_File, llvm::object::SymbolRef::ST_Function, llvm::object::SymbolRef::ST_Other, and llvm::object::SymbolRef::ST_Unknown.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 155 of file COFFObjectFile.cpp.
References getCOFFSymbol(), llvm::object::COFFSymbolRef::getValue(), and llvm::Ref.
|
inline |
Definition at line 887 of file COFF.h.
References llvm_unreachable, llvm::object::coff_file_header::TimeDateStamp, and llvm::object::coff_bigobj_file_header::TimeDateStamp.
|
inline |
|
inline |
Definition at line 465 of file COFFObjectFile.cpp.
References Addr, assert(), getImageBase(), and getRvaPtr().
iterator_range< import_directory_iterator > COFFObjectFile::import_directories | ( | ) | const |
Definition at line 1044 of file COFFObjectFile.cpp.
References import_directory_begin(), import_directory_end(), and llvm::make_range().
import_directory_iterator COFFObjectFile::import_directory_begin | ( | ) | const |
Definition at line 941 of file COFFObjectFile.cpp.
References import_directory_end(), ImportDirectoryEntryRef, and llvm::object::coff_import_directory_table_entry::isNull().
Referenced by import_directories().
import_directory_iterator COFFObjectFile::import_directory_end | ( | ) | const |
Definition at line 950 of file COFFObjectFile.cpp.
References ImportDirectoryEntryRef.
Referenced by import_directories(), and import_directory_begin().
|
inline |
Definition at line 1108 of file COFF.h.
Referenced by llvm::object::DelayImportDirectoryEntryRef::getImportAddress(), getLoadConfig32(), and getLoadConfig64().
|
overrideprotectedvirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 331 of file COFFObjectFile.cpp.
References llvm::consumeError(), llvm::Expected< T >::get(), getSectionName(), llvm::Ref, and llvm::Expected< T >::takeError().
|
overridevirtual |
True if this is a relocatable object (.o/.obj).
Implements llvm::object::ObjectFile.
Definition at line 1371 of file COFFObjectFile.cpp.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 321 of file COFFObjectFile.cpp.
References llvm::object::coff_section::Characteristics, llvm::COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA, llvm::COFF::IMAGE_SCN_MEM_READ, llvm::COFF::IMAGE_SCN_MEM_WRITE, and llvm::Ref.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 307 of file COFFObjectFile.cpp.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 316 of file COFFObjectFile.cpp.
References llvm::object::coff_section::Characteristics, llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA, and llvm::Ref.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 311 of file COFFObjectFile.cpp.
References llvm::object::coff_section::Characteristics, llvm::COFF::IMAGE_SCN_CNT_CODE, and llvm::Ref.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 349 of file COFFObjectFile.cpp.
References llvm::object::coff_section::PointerToRawData, and llvm::Ref.
Maps a debug section name to a standard DWARF section name.
Reimplemented from llvm::object::ObjectFile.
Definition at line 1375 of file COFFObjectFile.cpp.
References llvm::StringSwitch< T, R >::Case(), and llvm::StringSwitch< T, R >::Default().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 1207 of file COFFObjectFile.cpp.
References llvm::object::DataRefImpl::p.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 264 of file COFFObjectFile.cpp.
References llvm::Ref.
|
overrideprotectedvirtual |
Implements llvm::object::SymbolicFile.
Definition at line 136 of file COFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 981 of file COFFObjectFile.cpp.
References llvm::MipsISD::Ret, and llvm::object::ObjectFile::SectionRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 987 of file COFFObjectFile.cpp.
References getNumberOfSections(), llvm::object::coff_file_header::isImportLibrary(), llvm::MipsISD::Ret, and llvm::object::ObjectFile::SectionRef.
Referenced by getSymbolSection().
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 396 of file COFFObjectFile.cpp.
References llvm::object::ObjectFile::base(), llvm::sys::path::begin(), llvm::object::Binary::Data, getFirstReloc(), llvm::Ref, llvm::object::ObjectFile::RelocationRef, llvm::report_fatal_error(), llvm::MipsISD::Ret, and llvm::object::coff_section::VirtualAddress.
|
overrideprotectedvirtual |
Implements llvm::object::ObjectFile.
Definition at line 406 of file COFFObjectFile.cpp.
References llvm::object::ObjectFile::base(), llvm::object::Binary::Data, getFirstReloc(), getNumberOfRelocations(), I, llvm::Ref, llvm::object::ObjectFile::RelocationRef, and llvm::MipsISD::Ret.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 928 of file COFFObjectFile.cpp.
References getSymbolTable(), llvm::MipsISD::Ret, and llvm::object::ObjectFile::SymbolRef.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 934 of file COFFObjectFile.cpp.
References llvm::MipsISD::Ret, and llvm::object::ObjectFile::SymbolRef.
Referenced by getRelocationSymbol().
const coff_symbol_type* llvm::object::COFFObjectFile::toSymb | ( | DataRefImpl | Ref | ) | const |
Definition at line 102 of file COFFObjectFile.cpp.
References Addr, assert(), llvm::object::ObjectFile::base(), llvm::object::Binary::checkOffset(), llvm::object::Binary::Data, getPointerToSymbolTable(), and llvm::Ref.
|
friend |
Definition at line 804 of file COFF.h.
Referenced by export_directory_begin(), and export_directory_end().
|
friend |
Definition at line 803 of file COFF.h.
Referenced by import_directory_begin(), and import_directory_end().