LLVM 20.0.0git
|
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<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) |
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 | |
---|---|
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. |
enum llvm::COFF::COMDATType : uint8_t |
enum llvm::COFF::DebugType : unsigned |
enum llvm::COFF::Feat00Flags : uint32_t |
|
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 |
enum llvm::COFF::ImportType : unsigned |
enum llvm::COFF::MachineTypes : unsigned |
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)) |
enum llvm::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 least COFF::NameSize.
Definition at line 39 of file COFF.cpp.
References assert(), llvm::Twine::concat(), llvm::SmallVectorTemplateCommon< T, typename >::data(), encodeBase64StringEntry(), Max7DecimalOffset, MaxBase64Offset, Offset, llvm::SmallVectorBase< Size_T >::size(), and llvm::Twine::toVector().
Definition at line 133 of file COFF.h.
References IMAGE_FILE_MACHINE_AMD64, isAnyArm64(), and Machine.
Referenced by llvm::yaml::MappingTraits< COFFYAML::SectionDataEntry >::mapping().
Definition at line 129 of file COFF.h.
References IMAGE_FILE_MACHINE_ARM64, isArm64EC(), and Machine.
Referenced by getCOFFFileMachine(), is64Bit(), isAnyArm64COFF(), machineMatches(), llvm::yaml::MappingTraits< COFFYAML::Relocation >::mapping(), llvm::WinCOFFWriter::recordRelocation(), and llvm::WinCOFFWriter::WinCOFFWriter().
Definition at line 124 of file COFF.h.
References IMAGE_FILE_MACHINE_ARM64EC, IMAGE_FILE_MACHINE_ARM64X, and Machine.
Referenced by llvm::dlltoolDriverMain(), isAnyArm64(), llvm::libDriverMain(), llvm::object::COFFImportFile::printSymbolName(), llvm::object::COFFImportFile::symbol_end(), and llvm::object::writeImportLibrary().
|
inline |
Definition at line 848 of file COFF.h.
Referenced by llvm::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(), and llvm::jitlink::COFFLinkGraphBuilder::setGraphSymbol().
|
inline |
Definition at line 31 of file COFFYAML.h.
|
inline |
Definition at line 42 of file COFFYAML.h.
|
inline |
Definition at line 36 of file COFFYAML.h.
Definition at line 37 of file COFF.h.
Referenced by llvm::jitlink::createLinkGraphFromCOFFObject(), llvm::identify_magic(), and writeCOFF().
Definition at line 42 of file COFF.h.
Referenced by llvm::identify_magic().
const int32_t llvm::COFF::MaxNumberOfSections16 = 65279 |
Definition at line 32 of file COFF.h.
Referenced by llvm::object::COFFSymbolRef::getSectionNumber(), llvm::objcopy::coff::COFFWriter::write(), and llvm::WinCOFFWriter::writeObject().
Definition at line 35 of file COFF.h.
Referenced by llvm::jitlink::createLinkGraphFromCOFFObject(), llvm::identify_magic(), layoutCOFF(), and writeCOFF().
Definition at line 48 of file COFF.h.
Referenced by llvm::identify_magic().