Classes | |
union | Auxiliary |
struct | AuxiliarybfAndefSymbol |
struct | AuxiliaryCLRToken |
struct | AuxiliaryFunctionDefinition |
struct | AuxiliarySectionDefinition |
struct | AuxiliaryWeakExternal |
struct | BigObjHeader |
struct | DataDirectory |
struct | DOSHeader |
The DOS compatible header at the front of all PEs.More... | |
struct | header |
struct | ImportDirectoryTableEntry |
The Import Directory Table.More... | |
struct | ImportHeader |
struct | ImportLookupTableEntry32 |
The PE32 Import Lookup Table.More... | |
struct | PE32Header |
struct | relocation |
struct | section |
struct | symbol |
Functions | |
template<typenameT > | |
bool | isArm64EC (TMachine) |
template<typenameT > | |
bool | isAnyArm64 (TMachine) |
template<typenameT > | |
bool | is64Bit (TMachine) |
bool | isReservedSectionNumber (int32_t SectionNumber) |
bool | encodeSectionName (char *Out,uint64_tOffset) |
Encode section name based on string table offset. | |
Characteristics | operator| (Characteristics a,Characteristics b) |
SectionCharacteristics | operator| (SectionCharacteristics a,SectionCharacteristics b) |
DLLCharacteristics | operator| (DLLCharacteristics a,DLLCharacteristics b) |
Variables | |
const int32_t | MaxNumberOfSections16 = 65279 |
staticconstchar | PEMagic [] = {'P', 'E', '\0', '\0'} |
staticconstchar | BigObjMagic [] |
staticconstchar | ClGlObjMagic [] |
staticconstchar | WinResMagic [] |
anonymous enum |
Enumerator | |
---|---|
C_Invalid | |
IMAGE_FILE_RELOCS_STRIPPED | The file does not contain base relocations and must be loaded at its preferred base. If this cannot be done, the loader will error. |
IMAGE_FILE_EXECUTABLE_IMAGE | The file is valid and can be run. |
IMAGE_FILE_LINE_NUMS_STRIPPED | COFF line numbers have been stripped. This is deprecated and should be 0. |
IMAGE_FILE_LOCAL_SYMS_STRIPPED | COFF symbol table entries for local symbols have been removed. This is deprecated and should be 0. |
IMAGE_FILE_AGGRESSIVE_WS_TRIM | Aggressively trim working set. This is deprecated and must be 0. |
IMAGE_FILE_LARGE_ADDRESS_AWARE | Image can handle > 2GiB addresses. |
IMAGE_FILE_BYTES_REVERSED_LO | Little endian: the LSB precedes the MSB in memory. This is deprecated and should be 0. |
IMAGE_FILE_32BIT_MACHINE | Machine is based on a 32bit word architecture. |
IMAGE_FILE_DEBUG_STRIPPED | Debugging info has been removed. |
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP | If the image is on removable media, fully load it and copy it to swap. |
IMAGE_FILE_NET_RUN_FROM_SWAP | If the image is on network media, fully load it and copy it to swap. |
IMAGE_FILE_SYSTEM | The image file is a system file, not a user program. |
IMAGE_FILE_DLL | The image file is a DLL. |
IMAGE_FILE_UP_SYSTEM_ONLY | This file should only be run on a uniprocessor machine. |
IMAGE_FILE_BYTES_REVERSED_HI | Big endian: the MSB precedes the LSB in memory. This is deprecated and should be 0. |
| strong |
Enumerator | |
---|---|
CF_INSTRUMENTED | Module performs control flow integrity checks using system-supplied support. |
CFW_INSTRUMENTED | Module performs control flow and write integrity checks. |
CF_FUNCTION_TABLE_PRESENT | Module contains valid control flow target metadata. |
SECURITY_COOKIE_UNUSED | Module does not make use of the /GS security cookie. |
PROTECT_DELAYLOAD_IAT | Module supports read only delay load IAT. |
DELAYLOAD_IAT_IN_ITS_OWN_SECTION | Delayload import table in its own .didat section (with nothing else in it) that can be freely reprotected. |
CF_EXPORT_SUPPRESSION_INFO_PRESENT | Module contains suppressed export information. This also infers that the address taken IAT table is also present in the load config. |
CF_ENABLE_EXPORT_SUPPRESSION | Module enables suppression of exports. |
CF_LONGJUMP_TABLE_PRESENT | Module contains longjmp target information. |
EH_CONTINUATION_TABLE_PRESENT | Module contains EH continuation target information. |
CF_FUNCTION_TABLE_SIZE_MASK | Mask for the subfield that contains the stride of Control Flow Guard function table entries (that is, the additional count of bytes per table entry). |
CF_FUNCTION_TABLE_SIZE_5BYTES | |
CF_FUNCTION_TABLE_SIZE_6BYTES | |
CF_FUNCTION_TABLE_SIZE_7BYTES | |
CF_FUNCTION_TABLE_SIZE_8BYTES | |
CF_FUNCTION_TABLE_SIZE_9BYTES | |
CF_FUNCTION_TABLE_SIZE_10BYTES | |
CF_FUNCTION_TABLE_SIZE_11BYTES | |
CF_FUNCTION_TABLE_SIZE_12BYTES | |
CF_FUNCTION_TABLE_SIZE_13BYTES | |
CF_FUNCTION_TABLE_SIZE_14BYTES | |
CF_FUNCTION_TABLE_SIZE_15BYTES | |
CF_FUNCTION_TABLE_SIZE_16BYTES | |
CF_FUNCTION_TABLE_SIZE_17BYTES | |
CF_FUNCTION_TABLE_SIZE_18BYTES | |
CF_FUNCTION_TABLE_SIZE_19BYTES |
Enumerator | |
---|---|
IMAGE_SYM_DTYPE_NULL | No complex type; simple scalar variable. |
IMAGE_SYM_DTYPE_POINTER | A pointer to base type. |
IMAGE_SYM_DTYPE_FUNCTION | A function that returns a base type. |
IMAGE_SYM_DTYPE_ARRAY | An array of base type. |
SCT_COMPLEX_TYPE_SHIFT | Type is formed as (base + (derived << SCT_COMPLEX_TYPE_SHIFT)) |
enumllvm::COFF::SymbolSectionNumber : int32_t |
Storage class tells where and what the symbol represents.
Enumerator | |
---|---|
SSC_Invalid | |
IMAGE_SYM_CLASS_END_OF_FUNCTION | Physical end of function. |
IMAGE_SYM_CLASS_NULL | No symbol. |
IMAGE_SYM_CLASS_AUTOMATIC | Stack variable. |
IMAGE_SYM_CLASS_EXTERNAL | External symbol. |
IMAGE_SYM_CLASS_STATIC | Static. |
IMAGE_SYM_CLASS_REGISTER | Register variable. |
IMAGE_SYM_CLASS_EXTERNAL_DEF | External definition. |
IMAGE_SYM_CLASS_LABEL | Label. |
IMAGE_SYM_CLASS_UNDEFINED_LABEL | Undefined label. |
IMAGE_SYM_CLASS_MEMBER_OF_STRUCT | Member of structure. |
IMAGE_SYM_CLASS_ARGUMENT | Function argument. |
IMAGE_SYM_CLASS_STRUCT_TAG | Structure tag. |
IMAGE_SYM_CLASS_MEMBER_OF_UNION | Member of union. |
IMAGE_SYM_CLASS_UNION_TAG | Union tag. |
IMAGE_SYM_CLASS_TYPE_DEFINITION | Type definition. |
IMAGE_SYM_CLASS_UNDEFINED_STATIC | Undefined static. |
IMAGE_SYM_CLASS_ENUM_TAG | Enumeration tag. |
IMAGE_SYM_CLASS_MEMBER_OF_ENUM | Member of enumeration. |
IMAGE_SYM_CLASS_REGISTER_PARAM | Register parameter. |
IMAGE_SYM_CLASS_BIT_FIELD | Bit field. |
IMAGE_SYM_CLASS_BLOCK | ".bb" or ".eb" - beginning or end of block |
IMAGE_SYM_CLASS_FUNCTION | ".bf" or ".ef" - beginning or end of function |
IMAGE_SYM_CLASS_END_OF_STRUCT | End of structure. |
IMAGE_SYM_CLASS_FILE | File name. |
IMAGE_SYM_CLASS_SECTION | Line number, reformatted as symbol. |
IMAGE_SYM_CLASS_WEAK_EXTERNAL | Duplicate tag. |
IMAGE_SYM_CLASS_CLR_TOKEN | External symbol in dmert public lib. |
Encode section name based on string table offset.
The size of Out must be at leastCOFF::NameSize.
Definition at line39 of fileCOFF.cpp.
Referencesassert(),llvm::Twine::concat(),llvm::SmallVectorTemplateCommon< T, typename >::data(),encodeBase64StringEntry(),Max7DecimalOffset,MaxBase64Offset,Offset,llvm::SmallVectorBase< Size_T >::size(), andllvm::Twine::toVector().
Definition at line133 of fileCOFF.h.
ReferencesIMAGE_FILE_MACHINE_AMD64,isAnyArm64(), andMachine.
Referenced byllvm::yaml::MappingTraits< COFFYAML::SectionDataEntry >::mapping().
Definition at line129 of fileCOFF.h.
ReferencesIMAGE_FILE_MACHINE_ARM64,isArm64EC(), andMachine.
Referenced bygetCOFFFileMachine(),is64Bit(),isAnyArm64COFF(),machineMatches(),llvm::yaml::MappingTraits< COFFYAML::Relocation >::mapping(),llvm::WinCOFFWriter::recordRelocation(), andllvm::WinCOFFWriter::WinCOFFWriter().
Definition at line124 of fileCOFF.h.
ReferencesIMAGE_FILE_MACHINE_ARM64EC,IMAGE_FILE_MACHINE_ARM64X, andMachine.
Referenced byllvm::dlltoolDriverMain(),isAnyArm64(),llvm::libDriverMain(),llvm::object::COFFImportFile::printSymbolName(),llvm::object::COFFImportFile::symbol_end(), andllvm::object::writeImportLibrary().
| inline |
Definition at line848 of fileCOFF.h.
Referenced byllvm::orc::getCOFFObjectFileSymbolInfo(),llvm::object::COFFObjectFile::getSection(),llvm::object::COFFObjectFile::getSymbolAddress(),llvm::object::COFFObjectFile::getSymbolSection(),llvm::object::COFFObjectFile::getSymbolType(),llvm::jitlink::COFFLinkGraphBuilder::graphifySymbols(),llvm::object::COFFSymbolRef::isFunctionDefinition(),llvm::jitlink::COFFLinkGraphBuilder::setGraphBlock(), andllvm::jitlink::COFFLinkGraphBuilder::setGraphSymbol().
| inline |
Definition at line31 of fileCOFFYAML.h.
| inline |
Definition at line42 of fileCOFFYAML.h.
| inline |
Definition at line36 of fileCOFFYAML.h.
Definition at line37 of fileCOFF.h.
Referenced byllvm::jitlink::createLinkGraphFromCOFFObject(),llvm::identify_magic(), andwriteCOFF().
Definition at line42 of fileCOFF.h.
Referenced byllvm::identify_magic().
const int32_t llvm::COFF::MaxNumberOfSections16 = 65279 |
Definition at line32 of fileCOFF.h.
Referenced byllvm::WinCOFFWriter::executePostLayoutBinding(),llvm::object::COFFSymbolRef::getSectionNumber(), andllvm::objcopy::coff::COFFWriter::write().
Definition at line35 of fileCOFF.h.
Referenced byllvm::jitlink::createLinkGraphFromCOFFObject(),llvm::identify_magic(),layoutCOFF(), andwriteCOFF().
Definition at line48 of fileCOFF.h.
Referenced byllvm::identify_magic().