LLVM 20.0.0git
Classes | Namespaces | Enumerations | Functions | Variables
COFF.h File Reference
#include "llvm/Support/DataTypes.h"
#include <cassert>

Go to the source code of this file.

Classes

struct  llvm::COFF::header
 
struct  llvm::COFF::BigObjHeader
 
struct  llvm::COFF::symbol
 
struct  llvm::COFF::section
 
struct  llvm::COFF::relocation
 
struct  llvm::COFF::AuxiliaryFunctionDefinition
 
struct  llvm::COFF::AuxiliarybfAndefSymbol
 
struct  llvm::COFF::AuxiliaryWeakExternal
 
struct  llvm::COFF::AuxiliarySectionDefinition
 
struct  llvm::COFF::AuxiliaryCLRToken
 
union  llvm::COFF::Auxiliary
 
struct  llvm::COFF::ImportDirectoryTableEntry
 The Import Directory Table. More...
 
struct  llvm::COFF::ImportLookupTableEntry32
 The PE32 Import Lookup Table. More...
 
struct  llvm::COFF::DOSHeader
 The DOS compatible header at the front of all PEs. More...
 
struct  llvm::COFF::PE32Header
 
struct  llvm::COFF::DataDirectory
 
struct  llvm::COFF::ImportHeader
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::COFF
 

Enumerations

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

Functions

template<typename T >
bool llvm::COFF::isArm64EC (T Machine)
 
template<typename T >
bool llvm::COFF::isAnyArm64 (T Machine)
 
template<typename T >
bool llvm::COFF::is64Bit (T Machine)
 
bool llvm::COFF::isReservedSectionNumber (int32_t SectionNumber)
 
bool llvm::COFF::encodeSectionName (char *Out, uint64_t Offset)
 Encode section name based on string table offset.
 

Variables

const int32_t llvm::COFF::MaxNumberOfSections16 = 65279
 
static const char llvm::COFF::PEMagic [] = {'P', 'E', '\0', '\0'}
 
static const char llvm::COFF::BigObjMagic []
 
static const char llvm::COFF::ClGlObjMagic []
 
static const char llvm::COFF::WinResMagic []