LLVM: llvm::COFF Namespace Reference (original) (raw)

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
Enumerations
enum { Header16Size = 20 , Header32Size = 56 , NameSize = 8 , Symbol16Size = 18 , Symbol32Size = 20 , SectionSize = 40 , RelocationSize = 10 }
enum MachineTypes : unsigned { MT_Invalid = 0xffff , IMAGE_FILE_MACHINE_UNKNOWN = 0x0 , IMAGE_FILE_MACHINE_AM33 = 0x1D3 , IMAGE_FILE_MACHINE_AMD64 = 0x8664 , IMAGE_FILE_MACHINE_ARM = 0x1C0 , IMAGE_FILE_MACHINE_ARMNT = 0x1C4 , IMAGE_FILE_MACHINE_ARM64 = 0xAA64 , IMAGE_FILE_MACHINE_ARM64EC = 0xA641 , IMAGE_FILE_MACHINE_ARM64X = 0xA64E , IMAGE_FILE_MACHINE_EBC = 0xEBC , IMAGE_FILE_MACHINE_I386 = 0x14C , IMAGE_FILE_MACHINE_IA64 = 0x200 , IMAGE_FILE_MACHINE_M32R = 0x9041 , IMAGE_FILE_MACHINE_MIPS16 = 0x266 , IMAGE_FILE_MACHINE_MIPSFPU = 0x366 , IMAGE_FILE_MACHINE_MIPSFPU16 = 0x466 , IMAGE_FILE_MACHINE_POWERPC = 0x1F0 , IMAGE_FILE_MACHINE_POWERPCFP = 0x1F1 , IMAGE_FILE_MACHINE_R4000 = 0x166 , IMAGE_FILE_MACHINE_RISCV32 = 0x5032 , IMAGE_FILE_MACHINE_RISCV64 = 0x5064 , IMAGE_FILE_MACHINE_RISCV128 = 0x5128 , IMAGE_FILE_MACHINE_SH3 = 0x1A2 , IMAGE_FILE_MACHINE_SH3DSP = 0x1A3 , IMAGE_FILE_MACHINE_SH4 = 0x1A6 , IMAGE_FILE_MACHINE_SH5 = 0x1A8 , IMAGE_FILE_MACHINE_THUMB = 0x1C2 , IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x169 }
enum Characteristics : unsigned { C_Invalid = 0 , IMAGE_FILE_RELOCS_STRIPPED = 0x0001 , IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002 , IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004 , IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008 , IMAGE_FILE_AGGRESSIVE_WS_TRIM = 0x0010 , IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020 , IMAGE_FILE_BYTES_REVERSED_LO = 0x0080 , IMAGE_FILE_32BIT_MACHINE = 0x0100 , IMAGE_FILE_DEBUG_STRIPPED = 0x0200 , IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400 , IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800 , IMAGE_FILE_SYSTEM = 0x1000 , IMAGE_FILE_DLL = 0x2000 , IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000 , IMAGE_FILE_BYTES_REVERSED_HI = 0x8000 }
enum ResourceTypeID : unsigned { RID_Cursor = 1 , RID_Bitmap = 2 , RID_Icon = 3 , RID_Menu = 4 , RID_Dialog = 5 , RID_String = 6 , RID_FontDir = 7 , RID_Font = 8 , RID_Accelerator = 9 , RID_RCData = 10 , RID_MessageTable = 11 , RID_Group_Cursor = 12 , RID_Group_Icon = 14 , RID_Version = 16 , RID_DLGInclude = 17 , RID_PlugPlay = 19 , RID_VXD = 20 , RID_AniCursor = 21 , RID_AniIcon = 22 , RID_HTML = 23 , RID_Manifest = 24 }
enum SymbolSectionNumber : int32_t { IMAGE_SYM_DEBUG = -2 , IMAGE_SYM_ABSOLUTE = -1 , IMAGE_SYM_UNDEFINED = 0 }
enum SymbolStorageClass { SSC_Invalid = 0xff , IMAGE_SYM_CLASS_END_OF_FUNCTION = -1 , IMAGE_SYM_CLASS_NULL = 0 , IMAGE_SYM_CLASS_AUTOMATIC = 1 , IMAGE_SYM_CLASS_EXTERNAL = 2 , IMAGE_SYM_CLASS_STATIC = 3 , IMAGE_SYM_CLASS_REGISTER = 4 , IMAGE_SYM_CLASS_EXTERNAL_DEF = 5 , IMAGE_SYM_CLASS_LABEL = 6 , IMAGE_SYM_CLASS_UNDEFINED_LABEL = 7 , IMAGE_SYM_CLASS_MEMBER_OF_STRUCT = 8 , IMAGE_SYM_CLASS_ARGUMENT = 9 , IMAGE_SYM_CLASS_STRUCT_TAG = 10 , IMAGE_SYM_CLASS_MEMBER_OF_UNION = 11 , IMAGE_SYM_CLASS_UNION_TAG = 12 , IMAGE_SYM_CLASS_TYPE_DEFINITION = 13 , IMAGE_SYM_CLASS_UNDEFINED_STATIC = 14 , IMAGE_SYM_CLASS_ENUM_TAG = 15 , IMAGE_SYM_CLASS_MEMBER_OF_ENUM = 16 , IMAGE_SYM_CLASS_REGISTER_PARAM = 17 , IMAGE_SYM_CLASS_BIT_FIELD = 18 , IMAGE_SYM_CLASS_BLOCK = 100 , IMAGE_SYM_CLASS_FUNCTION = 101 , IMAGE_SYM_CLASS_END_OF_STRUCT = 102 , IMAGE_SYM_CLASS_FILE = 103 , IMAGE_SYM_CLASS_SECTION = 104 , IMAGE_SYM_CLASS_WEAK_EXTERNAL = 105 , IMAGE_SYM_CLASS_CLR_TOKEN = 107 }
Storage class tells where and what the symbol represents. More...
enum SymbolBaseType : unsigned { IMAGE_SYM_TYPE_NULL = 0 , IMAGE_SYM_TYPE_VOID = 1 , IMAGE_SYM_TYPE_CHAR = 2 , IMAGE_SYM_TYPE_SHORT = 3 , IMAGE_SYM_TYPE_INT = 4 , IMAGE_SYM_TYPE_LONG = 5 , IMAGE_SYM_TYPE_FLOAT = 6 , IMAGE_SYM_TYPE_DOUBLE = 7 , IMAGE_SYM_TYPE_STRUCT = 8 , IMAGE_SYM_TYPE_UNION = 9 , IMAGE_SYM_TYPE_ENUM = 10 , IMAGE_SYM_TYPE_MOE = 11 , IMAGE_SYM_TYPE_BYTE = 12 , IMAGE_SYM_TYPE_WORD = 13 , IMAGE_SYM_TYPE_UINT = 14 , IMAGE_SYM_TYPE_DWORD = 15 }
enum SymbolComplexType : unsigned { IMAGE_SYM_DTYPE_NULL = 0 , IMAGE_SYM_DTYPE_POINTER = 1 , IMAGE_SYM_DTYPE_FUNCTION = 2 , IMAGE_SYM_DTYPE_ARRAY = 3 , SCT_COMPLEX_TYPE_SHIFT = 4 }
enum AuxSymbolType { IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1 }
enum SectionCharacteristics : uint32_t { SC_Invalid = 0xffffffff , IMAGE_SCN_TYPE_NOLOAD = 0x00000002 , IMAGE_SCN_TYPE_NO_PAD = 0x00000008 , IMAGE_SCN_CNT_CODE = 0x00000020 , IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040 , IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080 , IMAGE_SCN_LNK_OTHER = 0x00000100 , IMAGE_SCN_LNK_INFO = 0x00000200 , IMAGE_SCN_LNK_REMOVE = 0x00000800 , IMAGE_SCN_LNK_COMDAT = 0x00001000 , IMAGE_SCN_GPREL = 0x00008000 , IMAGE_SCN_MEM_PURGEABLE = 0x00020000 , IMAGE_SCN_MEM_16BIT = 0x00020000 , IMAGE_SCN_MEM_LOCKED = 0x00040000 , IMAGE_SCN_MEM_PRELOAD = 0x00080000 , IMAGE_SCN_ALIGN_1BYTES = 0x00100000 , IMAGE_SCN_ALIGN_2BYTES = 0x00200000 , IMAGE_SCN_ALIGN_4BYTES = 0x00300000 , IMAGE_SCN_ALIGN_8BYTES = 0x00400000 , IMAGE_SCN_ALIGN_16BYTES = 0x00500000 , IMAGE_SCN_ALIGN_32BYTES = 0x00600000 , IMAGE_SCN_ALIGN_64BYTES = 0x00700000 , IMAGE_SCN_ALIGN_128BYTES = 0x00800000 , IMAGE_SCN_ALIGN_256BYTES = 0x00900000 , IMAGE_SCN_ALIGN_512BYTES = 0x00A00000 , IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000 , IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000 , IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000 , IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000 , IMAGE_SCN_ALIGN_MASK = 0x00F00000 , IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000 , IMAGE_SCN_MEM_DISCARDABLE = 0x02000000 , IMAGE_SCN_MEM_NOT_CACHED = 0x04000000 , IMAGE_SCN_MEM_NOT_PAGED = 0x08000000 , IMAGE_SCN_MEM_SHARED = 0x10000000 , IMAGE_SCN_MEM_EXECUTE = 0x20000000 , IMAGE_SCN_MEM_READ = 0x40000000 , IMAGE_SCN_MEM_WRITE = 0x80000000 }
enum RelocationTypeI386 : unsigned { IMAGE_REL_I386_ABSOLUTE = 0x0000 , IMAGE_REL_I386_DIR16 = 0x0001 , IMAGE_REL_I386_REL16 = 0x0002 , IMAGE_REL_I386_DIR32 = 0x0006 , IMAGE_REL_I386_DIR32NB = 0x0007 , IMAGE_REL_I386_SEG12 = 0x0009 , IMAGE_REL_I386_SECTION = 0x000A , IMAGE_REL_I386_SECREL = 0x000B , IMAGE_REL_I386_TOKEN = 0x000C , IMAGE_REL_I386_SECREL7 = 0x000D , IMAGE_REL_I386_REL32 = 0x0014 }
enum RelocationTypeAMD64 : unsigned { IMAGE_REL_AMD64_ABSOLUTE = 0x0000 , IMAGE_REL_AMD64_ADDR64 = 0x0001 , IMAGE_REL_AMD64_ADDR32 = 0x0002 , IMAGE_REL_AMD64_ADDR32NB = 0x0003 , IMAGE_REL_AMD64_REL32 = 0x0004 , IMAGE_REL_AMD64_REL32_1 = 0x0005 , IMAGE_REL_AMD64_REL32_2 = 0x0006 , IMAGE_REL_AMD64_REL32_3 = 0x0007 , IMAGE_REL_AMD64_REL32_4 = 0x0008 , IMAGE_REL_AMD64_REL32_5 = 0x0009 , IMAGE_REL_AMD64_SECTION = 0x000A , IMAGE_REL_AMD64_SECREL = 0x000B , IMAGE_REL_AMD64_SECREL7 = 0x000C , IMAGE_REL_AMD64_TOKEN = 0x000D , IMAGE_REL_AMD64_SREL32 = 0x000E , IMAGE_REL_AMD64_PAIR = 0x000F , IMAGE_REL_AMD64_SSPAN32 = 0x0010 }
enum RelocationTypesARM : unsigned { IMAGE_REL_ARM_ABSOLUTE = 0x0000 , IMAGE_REL_ARM_ADDR32 = 0x0001 , IMAGE_REL_ARM_ADDR32NB = 0x0002 , IMAGE_REL_ARM_BRANCH24 = 0x0003 , IMAGE_REL_ARM_BRANCH11 = 0x0004 , IMAGE_REL_ARM_TOKEN = 0x0005 , IMAGE_REL_ARM_BLX24 = 0x0008 , IMAGE_REL_ARM_BLX11 = 0x0009 , IMAGE_REL_ARM_REL32 = 0x000A , IMAGE_REL_ARM_SECTION = 0x000E , IMAGE_REL_ARM_SECREL = 0x000F , IMAGE_REL_ARM_MOV32A = 0x0010 , IMAGE_REL_ARM_MOV32T = 0x0011 , IMAGE_REL_ARM_BRANCH20T = 0x0012 , IMAGE_REL_ARM_BRANCH24T = 0x0014 , IMAGE_REL_ARM_BLX23T = 0x0015 , IMAGE_REL_ARM_PAIR = 0x0016 }
enum RelocationTypesARM64 : unsigned { IMAGE_REL_ARM64_ABSOLUTE = 0x0000 , IMAGE_REL_ARM64_ADDR32 = 0x0001 , IMAGE_REL_ARM64_ADDR32NB = 0x0002 , IMAGE_REL_ARM64_BRANCH26 = 0x0003 , IMAGE_REL_ARM64_PAGEBASE_REL21 = 0x0004 , IMAGE_REL_ARM64_REL21 = 0x0005 , IMAGE_REL_ARM64_PAGEOFFSET_12A = 0x0006 , IMAGE_REL_ARM64_PAGEOFFSET_12L = 0x0007 , IMAGE_REL_ARM64_SECREL = 0x0008 , IMAGE_REL_ARM64_SECREL_LOW12A = 0x0009 , IMAGE_REL_ARM64_SECREL_HIGH12A = 0x000A , IMAGE_REL_ARM64_SECREL_LOW12L = 0x000B , IMAGE_REL_ARM64_TOKEN = 0x000C , IMAGE_REL_ARM64_SECTION = 0x000D , IMAGE_REL_ARM64_ADDR64 = 0x000E , IMAGE_REL_ARM64_BRANCH19 = 0x000F , IMAGE_REL_ARM64_BRANCH14 = 0x0010 , IMAGE_REL_ARM64_REL32 = 0x0011 }
enum RelocationTypesMips : unsigned { IMAGE_REL_MIPS_ABSOLUTE = 0x0000 , IMAGE_REL_MIPS_REFHALF = 0x0001 , IMAGE_REL_MIPS_REFWORD = 0x0002 , IMAGE_REL_MIPS_JMPADDR = 0x0003 , IMAGE_REL_MIPS_REFHI = 0x0004 , IMAGE_REL_MIPS_REFLO = 0x0005 , IMAGE_REL_MIPS_GPREL = 0x0006 , IMAGE_REL_MIPS_LITERAL = 0x0007 , IMAGE_REL_MIPS_SECTION = 0x000A , IMAGE_REL_MIPS_SECREL = 0x000B , IMAGE_REL_MIPS_SECRELLO = 0x000C , IMAGE_REL_MIPS_SECRELHI = 0x000D , IMAGE_REL_MIPS_JMPADDR16 = 0x0010 , IMAGE_REL_MIPS_REFWORDNB = 0x0022 , IMAGE_REL_MIPS_PAIR = 0x0025 }
enum DynamicRelocationType : unsigned { IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE = 1 , IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE = 2 , IMAGE_DYNAMIC_RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER = 3 , IMAGE_DYNAMIC_RELOCATION_GUARD_INDIR_CONTROL_TRANSFER = 4 , IMAGE_DYNAMIC_RELOCATION_GUARD_SWITCHTABLE_BRANCH = 5 , IMAGE_DYNAMIC_RELOCATION_ARM64X = 6 }
enum Arm64XFixupType : uint8_t { IMAGE_DVRT_ARM64X_FIXUP_TYPE_ZEROFILL = 0 , IMAGE_DVRT_ARM64X_FIXUP_TYPE_VALUE = 1 , IMAGE_DVRT_ARM64X_FIXUP_TYPE_DELTA = 2 }
enum COMDATType : uint8_t { IMAGE_COMDAT_SELECT_NODUPLICATES = 1 , IMAGE_COMDAT_SELECT_ANY, IMAGE_COMDAT_SELECT_SAME_SIZE, IMAGE_COMDAT_SELECT_EXACT_MATCH, IMAGE_COMDAT_SELECT_ASSOCIATIVE, IMAGE_COMDAT_SELECT_LARGEST, IMAGE_COMDAT_SELECT_NEWEST }
enum WeakExternalCharacteristics : unsigned { IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1 , IMAGE_WEAK_EXTERN_SEARCH_LIBRARY = 2 , IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3 , IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY = 4 }
enum DataDirectoryIndex : unsigned { EXPORT_TABLE = 0 , IMPORT_TABLE, RESOURCE_TABLE, EXCEPTION_TABLE, CERTIFICATE_TABLE, BASE_RELOCATION_TABLE, DEBUG_DIRECTORY, ARCHITECTURE, GLOBAL_PTR, TLS_TABLE, LOAD_CONFIG_TABLE, BOUND_IMPORT, IAT, DELAY_IMPORT_DESCRIPTOR, CLR_RUNTIME_HEADER, NUM_DATA_DIRECTORIES }
enum WindowsSubsystem : unsigned { IMAGE_SUBSYSTEM_UNKNOWN = 0 , IMAGE_SUBSYSTEM_NATIVE = 1 , IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 , IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 , IMAGE_SUBSYSTEM_OS2_CUI = 5 , IMAGE_SUBSYSTEM_POSIX_CUI = 7 , IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8 , IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9 , IMAGE_SUBSYSTEM_EFI_APPLICATION = 10 , IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11 , IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12 , IMAGE_SUBSYSTEM_EFI_ROM = 13 , IMAGE_SUBSYSTEM_XBOX = 14 , IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16 }
enum DLLCharacteristics : unsigned { IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA = 0x0020 , IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040 , IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080 , IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100 , IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION = 0x0200 , IMAGE_DLL_CHARACTERISTICS_NO_SEH = 0x0400 , IMAGE_DLL_CHARACTERISTICS_NO_BIND = 0x0800 , IMAGE_DLL_CHARACTERISTICS_APPCONTAINER = 0x1000 , IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER = 0x2000 , IMAGE_DLL_CHARACTERISTICS_GUARD_CF = 0x4000 , IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 }
enum ExtendedDLLCharacteristics : unsigned { IMAGE_DLL_CHARACTERISTICS_EX_CET_COMPAT = 0x0001 , IMAGE_DLL_CHARACTERISTICS_EX_CET_COMPAT_STRICT_MODE = 0x0002 , IMAGE_DLL_CHARACTERISTICS_EX_CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE, IMAGE_DLL_CHARACTERISTICS_EX_CET_DYNAMIC_APIS_ALLOW_IN_PROC_ONLY = 0x0008 , IMAGE_DLL_CHARACTERISTICS_EX_CET_RESERVED_1 = 0x0010 , IMAGE_DLL_CHARACTERISTICS_EX_CET_RESERVED_2 = 0x0020 , IMAGE_DLL_CHARACTERISTICS_EX_FORWARD_CFI_COMPAT = 0x0040 , IMAGE_DLL_CHARACTERISTICS_EX_HOTPATCH_COMPATIBLE = 0x0080 }
enum DebugType : unsigned { IMAGE_DEBUG_TYPE_UNKNOWN = 0 , IMAGE_DEBUG_TYPE_COFF = 1 , IMAGE_DEBUG_TYPE_CODEVIEW = 2 , IMAGE_DEBUG_TYPE_FPO = 3 , IMAGE_DEBUG_TYPE_MISC = 4 , IMAGE_DEBUG_TYPE_EXCEPTION = 5 , IMAGE_DEBUG_TYPE_FIXUP = 6 , IMAGE_DEBUG_TYPE_OMAP_TO_SRC = 7 , IMAGE_DEBUG_TYPE_OMAP_FROM_SRC = 8 , IMAGE_DEBUG_TYPE_BORLAND = 9 , IMAGE_DEBUG_TYPE_RESERVED10 = 10 , IMAGE_DEBUG_TYPE_CLSID = 11 , IMAGE_DEBUG_TYPE_VC_FEATURE = 12 , IMAGE_DEBUG_TYPE_POGO = 13 , IMAGE_DEBUG_TYPE_ILTCG = 14 , IMAGE_DEBUG_TYPE_MPX = 15 , IMAGE_DEBUG_TYPE_REPRO = 16 , IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS = 20 }
enum BaseRelocationType : unsigned { IMAGE_REL_BASED_ABSOLUTE = 0 , IMAGE_REL_BASED_HIGH = 1 , IMAGE_REL_BASED_LOW = 2 , IMAGE_REL_BASED_HIGHLOW = 3 , IMAGE_REL_BASED_HIGHADJ = 4 , IMAGE_REL_BASED_MIPS_JMPADDR = 5 , IMAGE_REL_BASED_ARM_MOV32A = 5 , IMAGE_REL_BASED_ARM_MOV32T = 7 , IMAGE_REL_BASED_MIPS_JMPADDR16 = 9 , IMAGE_REL_BASED_DIR64 = 10 }
enum ImportType : unsigned { IMPORT_CODE = 0 , IMPORT_DATA = 1 , IMPORT_CONST = 2 }
enum ImportNameType : unsigned { IMPORT_ORDINAL = 0 , IMPORT_NAME = 1 , IMPORT_NAME_NOPREFIX = 2 , IMPORT_NAME_UNDECORATE = 3 , IMPORT_NAME_EXPORTAS = 4 }
enum class GuardFlags : uint32_t { CF_INSTRUMENTED = 0x100 , CFW_INSTRUMENTED = 0x200 , CF_FUNCTION_TABLE_PRESENT = 0x400 , SECURITY_COOKIE_UNUSED = 0x800 , PROTECT_DELAYLOAD_IAT = 0x1000 , DELAYLOAD_IAT_IN_ITS_OWN_SECTION = 0x2000 , CF_EXPORT_SUPPRESSION_INFO_PRESENT = 0x4000 , CF_ENABLE_EXPORT_SUPPRESSION = 0x8000 , CF_LONGJUMP_TABLE_PRESENT = 0x10000 , EH_CONTINUATION_TABLE_PRESENT = 0x400000 , CF_FUNCTION_TABLE_SIZE_MASK = 0xF0000000 , CF_FUNCTION_TABLE_SIZE_5BYTES = 0x10000000 , CF_FUNCTION_TABLE_SIZE_6BYTES = 0x20000000 , CF_FUNCTION_TABLE_SIZE_7BYTES = 0x30000000 , CF_FUNCTION_TABLE_SIZE_8BYTES = 0x40000000 , CF_FUNCTION_TABLE_SIZE_9BYTES = 0x50000000 , CF_FUNCTION_TABLE_SIZE_10BYTES = 0x60000000 , CF_FUNCTION_TABLE_SIZE_11BYTES = 0x70000000 , CF_FUNCTION_TABLE_SIZE_12BYTES = 0x80000000 , CF_FUNCTION_TABLE_SIZE_13BYTES = 0x90000000 , CF_FUNCTION_TABLE_SIZE_14BYTES = 0xA0000000 , CF_FUNCTION_TABLE_SIZE_15BYTES = 0xB0000000 , CF_FUNCTION_TABLE_SIZE_16BYTES = 0xC0000000 , CF_FUNCTION_TABLE_SIZE_17BYTES = 0xD0000000 , CF_FUNCTION_TABLE_SIZE_18BYTES = 0xE0000000 , CF_FUNCTION_TABLE_SIZE_19BYTES = 0xF0000000 }
enum CodeViewIdentifiers { DEBUG_SECTION_MAGIC = 0x4 , DEBUG_HASHES_SECTION_MAGIC = 0x133C9C5 }
enum Feat00Flags : uint32_t { SafeSEH = 0x1 , GuardStack = 0x100 , SDL = 0x200 , GuardCF = 0x800 , GuardEHCont = 0x4000 , Kernel = 0x40000000 }
enum Arm64ECThunkType : uint8_t { GuestExit = 0 , Entry = 1 , Exit = 4 }
Functions
template<typename T>
bool isArm64EC (T Machine)
template<typename T>
bool isAnyArm64 (T Machine)
template<typename T>
bool is64Bit (T Machine)
bool isReservedSectionNumber (int32_t SectionNumber)
LLVM_ABI bool encodeSectionName (char *Out, uint64_t Offset)
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
static const char PEMagic [] = {'P', 'E', '\0', '\0'}
static const char BigObjMagic []
static const char ClGlObjMagic []
static const char WinResMagic []

anonymous enum

Enumerator
Header16Size
Header32Size
NameSize
Symbol16Size
Symbol32Size
SectionSize
RelocationSize

Definition at line 55 of file COFF.h.

Arm64ECThunkType

Enumerator
GuestExit
Entry
Exit

Definition at line 860 of file COFF.h.

Arm64XFixupType

Enumerator
IMAGE_DVRT_ARM64X_FIXUP_TYPE_ZEROFILL
IMAGE_DVRT_ARM64X_FIXUP_TYPE_VALUE
IMAGE_DVRT_ARM64X_FIXUP_TYPE_DELTA

Definition at line 448 of file COFF.h.

AuxSymbolType

Enumerator
IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF

Definition at line 283 of file COFF.h.

BaseRelocationType

Enumerator
IMAGE_REL_BASED_ABSOLUTE
IMAGE_REL_BASED_HIGH
IMAGE_REL_BASED_LOW
IMAGE_REL_BASED_HIGHLOW
IMAGE_REL_BASED_HIGHADJ
IMAGE_REL_BASED_MIPS_JMPADDR
IMAGE_REL_BASED_ARM_MOV32A
IMAGE_REL_BASED_ARM_MOV32T
IMAGE_REL_BASED_MIPS_JMPADDR16
IMAGE_REL_BASED_DIR64

Definition at line 738 of file COFF.h.

Characteristics

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
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.

Definition at line 138 of file COFF.h.

CodeViewIdentifiers

Enumerator
DEBUG_SECTION_MAGIC
DEBUG_HASHES_SECTION_MAGIC

Definition at line 838 of file COFF.h.

COMDATType

Enumerator
IMAGE_COMDAT_SELECT_NODUPLICATES
IMAGE_COMDAT_SELECT_ANY
IMAGE_COMDAT_SELECT_SAME_SIZE
IMAGE_COMDAT_SELECT_EXACT_MATCH
IMAGE_COMDAT_SELECT_ASSOCIATIVE
IMAGE_COMDAT_SELECT_LARGEST
IMAGE_COMDAT_SELECT_NEWEST

Definition at line 454 of file COFF.h.

DataDirectoryIndex

Enumerator
EXPORT_TABLE
IMPORT_TABLE
RESOURCE_TABLE
EXCEPTION_TABLE
CERTIFICATE_TABLE
BASE_RELOCATION_TABLE
DEBUG_DIRECTORY
ARCHITECTURE
GLOBAL_PTR
TLS_TABLE
LOAD_CONFIG_TABLE
BOUND_IMPORT
IAT
DELAY_IMPORT_DESCRIPTOR
CLR_RUNTIME_HEADER
NUM_DATA_DIRECTORIES

Definition at line 630 of file COFF.h.

DebugType

Enumerator
IMAGE_DEBUG_TYPE_UNKNOWN
IMAGE_DEBUG_TYPE_COFF
IMAGE_DEBUG_TYPE_CODEVIEW
IMAGE_DEBUG_TYPE_FPO
IMAGE_DEBUG_TYPE_MISC
IMAGE_DEBUG_TYPE_EXCEPTION
IMAGE_DEBUG_TYPE_FIXUP
IMAGE_DEBUG_TYPE_OMAP_TO_SRC
IMAGE_DEBUG_TYPE_OMAP_FROM_SRC
IMAGE_DEBUG_TYPE_BORLAND
IMAGE_DEBUG_TYPE_RESERVED10
IMAGE_DEBUG_TYPE_CLSID
IMAGE_DEBUG_TYPE_VC_FEATURE
IMAGE_DEBUG_TYPE_POGO
IMAGE_DEBUG_TYPE_ILTCG
IMAGE_DEBUG_TYPE_MPX
IMAGE_DEBUG_TYPE_REPRO
IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS

Definition at line 717 of file COFF.h.

DLLCharacteristics

Enumerator
IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA ASLR with 64 bit address space.
IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE DLL can be relocated at load time.
IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY Code integrity checks are enforced. Image is NX compatible.
IMAGE_DLL_CHARACTERISTICS_NX_COMPAT
IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION Isolation aware, but do not isolate the image.
IMAGE_DLL_CHARACTERISTICS_NO_SEH Does not use structured exception handling (SEH). No SEH handler may be called in this image.
IMAGE_DLL_CHARACTERISTICS_NO_BIND Do not bind the image. Image should execute in an AppContainer.
IMAGE_DLL_CHARACTERISTICS_APPCONTAINER A WDM driver.
IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER Image supports Control Flow Guard.
IMAGE_DLL_CHARACTERISTICS_GUARD_CF
IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE Terminal Server aware.

Definition at line 669 of file COFF.h.

DynamicRelocationType

Enumerator
IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE
IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE
IMAGE_DYNAMIC_RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER
IMAGE_DYNAMIC_RELOCATION_GUARD_INDIR_CONTROL_TRANSFER
IMAGE_DYNAMIC_RELOCATION_GUARD_SWITCHTABLE_BRANCH
IMAGE_DYNAMIC_RELOCATION_ARM64X

Definition at line 439 of file COFF.h.

ExtendedDLLCharacteristics

Enumerator
IMAGE_DLL_CHARACTERISTICS_EX_CET_COMPAT Image is CET compatible.
IMAGE_DLL_CHARACTERISTICS_EX_CET_COMPAT_STRICT_MODE Image is CET compatible in strict mode.
IMAGE_DLL_CHARACTERISTICS_EX_CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE Image is CET compatible in such a way that context IP validation is relaxed.
IMAGE_DLL_CHARACTERISTICS_EX_CET_DYNAMIC_APIS_ALLOW_IN_PROC_ONLY Image is CET compatible in such a way that the use of dynamic APIs is restricted to processes only.
IMAGE_DLL_CHARACTERISTICS_EX_CET_RESERVED_1 Reserved for future use. Not used by MSVC link.exe.
IMAGE_DLL_CHARACTERISTICS_EX_CET_RESERVED_2 Reserved for future use. Not used by MSVC link.exe.
IMAGE_DLL_CHARACTERISTICS_EX_FORWARD_CFI_COMPAT Image is CFI compatible.
IMAGE_DLL_CHARACTERISTICS_EX_HOTPATCH_COMPATIBLE Image is hotpatch compatible.

Definition at line 695 of file COFF.h.

Feat00Flags

Enumerator
SafeSEH
GuardStack
SDL
GuardCF
GuardEHCont
Kernel

Definition at line 845 of file COFF.h.

GuardFlags

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

Definition at line 776 of file COFF.h.

ImportNameType

Enumerator
IMPORT_ORDINAL Import is by ordinal. This indicates that the value in the Ordinal/Hint field of the import header is the import's ordinal. If this constant is not specified, then the Ordinal/Hint field should always be interpreted as the import's hint.
IMPORT_NAME The import name is identical to the public symbol name.
IMPORT_NAME_NOPREFIX The import name is the public symbol name, but skipping the leading ? , @, or optionally _.
IMPORT_NAME_UNDECORATE The import name is the public symbol name, but skipping the leading ? , @, or optionally _, and truncating at the first .
IMPORT_NAME_EXPORTAS The import name is specified as a separate string in the import library object file.

Definition at line 757 of file COFF.h.

ImportType

Enumerator
IMPORT_CODE
IMPORT_DATA
IMPORT_CONST

Definition at line 751 of file COFF.h.

MachineTypes

Enumerator
MT_Invalid
IMAGE_FILE_MACHINE_UNKNOWN
IMAGE_FILE_MACHINE_AM33
IMAGE_FILE_MACHINE_AMD64
IMAGE_FILE_MACHINE_ARM
IMAGE_FILE_MACHINE_ARMNT
IMAGE_FILE_MACHINE_ARM64
IMAGE_FILE_MACHINE_ARM64EC
IMAGE_FILE_MACHINE_ARM64X
IMAGE_FILE_MACHINE_EBC
IMAGE_FILE_MACHINE_I386
IMAGE_FILE_MACHINE_IA64
IMAGE_FILE_MACHINE_M32R
IMAGE_FILE_MACHINE_MIPS16
IMAGE_FILE_MACHINE_MIPSFPU
IMAGE_FILE_MACHINE_MIPSFPU16
IMAGE_FILE_MACHINE_POWERPC
IMAGE_FILE_MACHINE_POWERPCFP
IMAGE_FILE_MACHINE_R4000
IMAGE_FILE_MACHINE_RISCV32
IMAGE_FILE_MACHINE_RISCV64
IMAGE_FILE_MACHINE_RISCV128
IMAGE_FILE_MACHINE_SH3
IMAGE_FILE_MACHINE_SH3DSP
IMAGE_FILE_MACHINE_SH4
IMAGE_FILE_MACHINE_SH5
IMAGE_FILE_MACHINE_THUMB
IMAGE_FILE_MACHINE_WCEMIPSV2

Definition at line 93 of file COFF.h.

RelocationTypeAMD64

Enumerator
IMAGE_REL_AMD64_ABSOLUTE
IMAGE_REL_AMD64_ADDR64
IMAGE_REL_AMD64_ADDR32
IMAGE_REL_AMD64_ADDR32NB
IMAGE_REL_AMD64_REL32
IMAGE_REL_AMD64_REL32_1
IMAGE_REL_AMD64_REL32_2
IMAGE_REL_AMD64_REL32_3
IMAGE_REL_AMD64_REL32_4
IMAGE_REL_AMD64_REL32_5
IMAGE_REL_AMD64_SECTION
IMAGE_REL_AMD64_SECREL
IMAGE_REL_AMD64_SECREL7
IMAGE_REL_AMD64_TOKEN
IMAGE_REL_AMD64_SREL32
IMAGE_REL_AMD64_PAIR
IMAGE_REL_AMD64_SSPAN32

Definition at line 360 of file COFF.h.

RelocationTypeI386

Enumerator
IMAGE_REL_I386_ABSOLUTE
IMAGE_REL_I386_DIR16
IMAGE_REL_I386_REL16
IMAGE_REL_I386_DIR32
IMAGE_REL_I386_DIR32NB
IMAGE_REL_I386_SEG12
IMAGE_REL_I386_SECTION
IMAGE_REL_I386_SECREL
IMAGE_REL_I386_TOKEN
IMAGE_REL_I386_SECREL7
IMAGE_REL_I386_REL32

Definition at line 346 of file COFF.h.

RelocationTypesARM

Enumerator
IMAGE_REL_ARM_ABSOLUTE
IMAGE_REL_ARM_ADDR32
IMAGE_REL_ARM_ADDR32NB
IMAGE_REL_ARM_BRANCH24
IMAGE_REL_ARM_BRANCH11
IMAGE_REL_ARM_TOKEN
IMAGE_REL_ARM_BLX24
IMAGE_REL_ARM_BLX11
IMAGE_REL_ARM_REL32
IMAGE_REL_ARM_SECTION
IMAGE_REL_ARM_SECREL
IMAGE_REL_ARM_MOV32A
IMAGE_REL_ARM_MOV32T
IMAGE_REL_ARM_BRANCH20T
IMAGE_REL_ARM_BRANCH24T
IMAGE_REL_ARM_BLX23T
IMAGE_REL_ARM_PAIR

Definition at line 380 of file COFF.h.

RelocationTypesARM64

Enumerator
IMAGE_REL_ARM64_ABSOLUTE
IMAGE_REL_ARM64_ADDR32
IMAGE_REL_ARM64_ADDR32NB
IMAGE_REL_ARM64_BRANCH26
IMAGE_REL_ARM64_PAGEBASE_REL21
IMAGE_REL_ARM64_REL21
IMAGE_REL_ARM64_PAGEOFFSET_12A
IMAGE_REL_ARM64_PAGEOFFSET_12L
IMAGE_REL_ARM64_SECREL
IMAGE_REL_ARM64_SECREL_LOW12A
IMAGE_REL_ARM64_SECREL_HIGH12A
IMAGE_REL_ARM64_SECREL_LOW12L
IMAGE_REL_ARM64_TOKEN
IMAGE_REL_ARM64_SECTION
IMAGE_REL_ARM64_ADDR64
IMAGE_REL_ARM64_BRANCH19
IMAGE_REL_ARM64_BRANCH14
IMAGE_REL_ARM64_REL32

Definition at line 400 of file COFF.h.

RelocationTypesMips

Enumerator
IMAGE_REL_MIPS_ABSOLUTE
IMAGE_REL_MIPS_REFHALF
IMAGE_REL_MIPS_REFWORD
IMAGE_REL_MIPS_JMPADDR
IMAGE_REL_MIPS_REFHI
IMAGE_REL_MIPS_REFLO
IMAGE_REL_MIPS_GPREL
IMAGE_REL_MIPS_LITERAL
IMAGE_REL_MIPS_SECTION
IMAGE_REL_MIPS_SECREL
IMAGE_REL_MIPS_SECRELLO
IMAGE_REL_MIPS_SECRELHI
IMAGE_REL_MIPS_JMPADDR16
IMAGE_REL_MIPS_REFWORDNB
IMAGE_REL_MIPS_PAIR

Definition at line 421 of file COFF.h.

ResourceTypeID

Enumerator
RID_Cursor
RID_Bitmap
RID_Icon
RID_Menu
RID_Dialog
RID_String
RID_FontDir
RID_Font
RID_Accelerator
RID_RCData
RID_MessageTable
RID_Group_Cursor
RID_Group_Icon
RID_Version
RID_DLGInclude
RID_PlugPlay
RID_VXD
RID_AniCursor
RID_AniIcon
RID_HTML
RID_Manifest

Definition at line 178 of file COFF.h.

SectionCharacteristics

Enumerator
SC_Invalid
IMAGE_SCN_TYPE_NOLOAD
IMAGE_SCN_TYPE_NO_PAD
IMAGE_SCN_CNT_CODE
IMAGE_SCN_CNT_INITIALIZED_DATA
IMAGE_SCN_CNT_UNINITIALIZED_DATA
IMAGE_SCN_LNK_OTHER
IMAGE_SCN_LNK_INFO
IMAGE_SCN_LNK_REMOVE
IMAGE_SCN_LNK_COMDAT
IMAGE_SCN_GPREL
IMAGE_SCN_MEM_PURGEABLE
IMAGE_SCN_MEM_16BIT
IMAGE_SCN_MEM_LOCKED
IMAGE_SCN_MEM_PRELOAD
IMAGE_SCN_ALIGN_1BYTES
IMAGE_SCN_ALIGN_2BYTES
IMAGE_SCN_ALIGN_4BYTES
IMAGE_SCN_ALIGN_8BYTES
IMAGE_SCN_ALIGN_16BYTES
IMAGE_SCN_ALIGN_32BYTES
IMAGE_SCN_ALIGN_64BYTES
IMAGE_SCN_ALIGN_128BYTES
IMAGE_SCN_ALIGN_256BYTES
IMAGE_SCN_ALIGN_512BYTES
IMAGE_SCN_ALIGN_1024BYTES
IMAGE_SCN_ALIGN_2048BYTES
IMAGE_SCN_ALIGN_4096BYTES
IMAGE_SCN_ALIGN_8192BYTES
IMAGE_SCN_ALIGN_MASK
IMAGE_SCN_LNK_NRELOC_OVFL
IMAGE_SCN_MEM_DISCARDABLE
IMAGE_SCN_MEM_NOT_CACHED
IMAGE_SCN_MEM_NOT_PAGED
IMAGE_SCN_MEM_SHARED
IMAGE_SCN_MEM_EXECUTE
IMAGE_SCN_MEM_READ
IMAGE_SCN_MEM_WRITE

Definition at line 298 of file COFF.h.

SymbolBaseType

Enumerator
IMAGE_SYM_TYPE_NULL No type information or unknown base type.
IMAGE_SYM_TYPE_VOID Used with void pointers and functions.
IMAGE_SYM_TYPE_CHAR A character (signed byte).
IMAGE_SYM_TYPE_SHORT A 2-byte signed integer.
IMAGE_SYM_TYPE_INT A natural integer type on the target.
IMAGE_SYM_TYPE_LONG A 4-byte signed integer.
IMAGE_SYM_TYPE_FLOAT A 4-byte floating-point number.
IMAGE_SYM_TYPE_DOUBLE An 8-byte floating-point number.
IMAGE_SYM_TYPE_STRUCT A structure.
IMAGE_SYM_TYPE_UNION An union.
IMAGE_SYM_TYPE_ENUM An enumerated type.
IMAGE_SYM_TYPE_MOE A member of enumeration (a specific value).
IMAGE_SYM_TYPE_BYTE A byte; unsigned 1-byte integer.
IMAGE_SYM_TYPE_WORD A word; unsigned 2-byte integer.
IMAGE_SYM_TYPE_UINT An unsigned integer of natural size.
IMAGE_SYM_TYPE_DWORD An unsigned 4-byte integer.

Definition at line 254 of file COFF.h.

SymbolComplexType

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))

Definition at line 273 of file COFF.h.

SymbolSectionNumber

Enumerator
IMAGE_SYM_DEBUG
IMAGE_SYM_ABSOLUTE
IMAGE_SYM_UNDEFINED

Definition at line 211 of file COFF.h.

SymbolStorageClass

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.

Definition at line 218 of file COFF.h.

WeakExternalCharacteristics

Enumerator
IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY
IMAGE_WEAK_EXTERN_SEARCH_LIBRARY
IMAGE_WEAK_EXTERN_SEARCH_ALIAS
IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY

Definition at line 487 of file COFF.h.

WindowsSubsystem

Enumerator
IMAGE_SUBSYSTEM_UNKNOWN An unknown subsystem.
IMAGE_SUBSYSTEM_NATIVE Device drivers and native Windows processes.
IMAGE_SUBSYSTEM_WINDOWS_GUI The Windows GUI subsystem.
IMAGE_SUBSYSTEM_WINDOWS_CUI The Windows character subsystem.
IMAGE_SUBSYSTEM_OS2_CUI The OS/2 character subsystem.
IMAGE_SUBSYSTEM_POSIX_CUI The POSIX character subsystem.
IMAGE_SUBSYSTEM_NATIVE_WINDOWS Native Windows 9x driver.
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI Windows CE.
IMAGE_SUBSYSTEM_EFI_APPLICATION An EFI application.
IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER An EFI driver with boot services.
IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER An EFI driver with run-time services.
IMAGE_SUBSYSTEM_EFI_ROM An EFI ROM image.
IMAGE_SUBSYSTEM_XBOX XBOX.
IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION A BCD application.

Definition at line 650 of file COFF.h.

encodeSectionName()

Encode section name based on string table offset.

The size of Out must be at least COFF::NameSize.

Definition at line 39 of file COFF.cpp.

References assert(), llvm::Twine::concat(), llvm::SmallVectorTemplateCommon< T, typename >::data(), encodeBase64StringEntry(), Max7DecimalOffset, MaxBase64Offset, NameSize, llvm::Offset, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::Twine::toVector().

is64Bit()

template<typename T>

bool llvm::COFF::is64Bit ( T Machine )

isAnyArm64()

template<typename T>

bool llvm::COFF::isAnyArm64 ( T Machine )

isArm64EC()

template<typename T>

bool llvm::COFF::isArm64EC ( T Machine )

isReservedSectionNumber()

bool llvm::COFF::isReservedSectionNumber ( int32_t SectionNumber) inline

operator|() [1/3]

Characteristics llvm::COFF::operator| ( Characteristics a, Characteristics b ) inline

operator|() [2/3]

DLLCharacteristics llvm::COFF::operator| ( DLLCharacteristics a, DLLCharacteristics b ) inline

operator|() [3/3]

SectionCharacteristics llvm::COFF::operator| ( SectionCharacteristics a, SectionCharacteristics b ) inline

BigObjMagic

Initial value:

= {

'\xc7', '\xa1', '\xba', '\xd1', '\xee', '\xba', '\xa9', '\x4b',

'\xaf', '\x20', '\xfa', '\xf6', '\x6a', '\xa4', '\xdc', '\xb8',

}

Definition at line 38 of file COFF.h.

Referenced by llvm::jitlink::createLinkGraphFromCOFFObject(), llvm::identify_magic(), and writeCOFF().

ClGlObjMagic

Initial value:

= {

'\x38', '\xfe', '\xb3', '\x0c', '\xa5', '\xd9', '\xab', '\x4d',

'\xac', '\x9b', '\xd6', '\xb6', '\x22', '\x26', '\x53', '\xc2',

}

Definition at line 43 of file COFF.h.

Referenced by llvm::identify_magic().

MaxNumberOfSections16

const int32_t llvm::COFF::MaxNumberOfSections16 = 65279

PEMagic

const char llvm::COFF::PEMagic[] = {'P', 'E', '\0', '\0'} static

WinResMagic

Initial value:

= {

'\x00', '\x00', '\x00', '\x00', '\x20', '\x00', '\x00', '\x00',

'\xff', '\xff', '\x00', '\x00', '\xff', '\xff', '\x00', '\x00',

}

Definition at line 49 of file COFF.h.

Referenced by llvm::identify_magic().