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

Classes
class AbstractArchiveMemberHeader
class Archive
class ArchiveMemberHeader
class Arm64XRelocRef
class BaseRelocRef
class BasicSymbolRef
This is a value type class that represents a single symbol in the list of symbols in the object file. More...
struct BBAddrMap
class BigArchive
class BigArchiveMemberHeader
struct BigArMemHdrType
class Binary
class BinaryError
Base class for all errors indicating malformed binary files. More...
class BindRebaseSegInfo
class BuildIDFetcher
BuildIDFetcher searches local cache directories for debug info. More...
struct CFileLanguageIdAndTypeIdType
struct ChainedFixupsSegment
struct ChainedFixupTarget
ChainedFixupTarget holds all the information about an external symbol necessary to bind this binary to that symbol. More...
struct chpe_code_range_entry
struct chpe_metadata
struct chpe_range_entry
struct chpe_redirection_entry
struct coff_aux_bf_and_ef_symbol
struct coff_aux_clr_token
struct coff_aux_function_definition
struct coff_aux_section_definition
struct coff_aux_weak_external
struct coff_base_reloc_block_entry
struct coff_base_reloc_block_header
struct coff_bigobj_file_header
struct coff_dynamic_reloc_table
struct coff_dynamic_relocation32
struct coff_dynamic_relocation32_v2
struct coff_dynamic_relocation64
struct coff_dynamic_relocation64_v2
struct coff_file_header
struct coff_import_directory_table_entry
struct coff_import_header
struct coff_load_config_code_integrity
struct coff_load_configuration32
32-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY32) More...
struct coff_load_configuration64
64-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY64) More...
struct coff_relocation
struct coff_resource_data_entry
struct coff_resource_dir_entry
struct coff_resource_dir_table
struct coff_runtime_function_x64
struct coff_section
struct coff_symbol
struct coff_symbol_generic
struct coff_tls_directory
class COFFImportFile
struct COFFModuleDefinition
class COFFObjectFile
struct COFFShortExport
class COFFSymbolRef
class CommonArchiveMemberHeader
class CompressedOffloadBundle
class content_iterator
struct data_directory
union DataRefImpl
struct DataRegion
struct debug_directory
struct debug_h_header
class Decompressor
Decompressor helps to handle decompression of compressed sections. More...
struct delay_import_directory_table_entry
class DelayImportDirectoryEntryRef
class DiceRef
DiceRef - This is a value type class that represents a single data in code entry in the table in a Mach-O object file. More...
struct dos_header
The DOS compatible header at the front of all PE/COFF executables. More...
class DXContainer
class DXContainerObjectFile
class DynamicRelocRef
struct Elf_CGProfile_Impl
struct Elf_Chdr_Impl
struct Elf_Chdr_Impl< ELFType< Endianness, false > >
struct Elf_Chdr_Impl< ELFType< Endianness, true > >
struct Elf_Crel_Impl
struct Elf_Dyn_Base
Elf_Dyn_Base: This structure matches the form of entries in the dynamic table section (.dynamic) look like. More...
struct Elf_Dyn_Base< ELFType< Endianness, false > >
struct Elf_Dyn_Base< ELFType< Endianness, true > >
struct Elf_Dyn_Impl
Elf_Dyn_Impl: This inherits from Elf_Dyn_Base, adding getters. More...
struct Elf_Ehdr_Impl
struct Elf_GnuHash_Impl
struct Elf_Hash_Impl
struct Elf_Mips_ABIFlags
struct Elf_Mips_Options
struct Elf_Mips_RegInfo
struct Elf_Mips_RegInfo< ELFType< Endianness, false > >
struct Elf_Mips_RegInfo< ELFType< Endianness, true > >
struct Elf_Nhdr_Impl
Note header. More...
class Elf_Note_Impl
An ELF note. More...
class Elf_Note_Iterator_Impl
struct Elf_Phdr_Impl
struct Elf_Phdr_Impl< ELFType< Endianness, false > >
struct Elf_Phdr_Impl< ELFType< Endianness, true > >
struct Elf_Rel_Impl
struct Elf_Rel_Impl< ELFType< Endianness, false >, false >
struct Elf_Rel_Impl< ELFType< Endianness, false >, true >
struct Elf_Rel_Impl< ELFType< Endianness, true >, false >
struct Elf_Rel_Impl< ELFType< Endianness, true >, true >
class elf_relocation_iterator
class elf_section_iterator
struct Elf_Shdr_Base
struct Elf_Shdr_Base< ELFType< Endianness, false > >
struct Elf_Shdr_Base< ELFType< Endianness, true > >
struct Elf_Shdr_Impl
struct Elf_Sym_Base
struct Elf_Sym_Base< ELFType< Endianness, false > >
struct Elf_Sym_Base< ELFType< Endianness, true > >
struct Elf_Sym_Impl
class elf_symbol_iterator
struct Elf_Verdaux_Impl
Elf_Verdaux: This is the structure of auxiliary data in the SHT_GNU_verdef section (.gnu.version_d). More...
struct Elf_Verdef_Impl
Elf_Verdef: This is the structure of entries in the SHT_GNU_verdef section (.gnu.version_d). More...
struct Elf_Vernaux_Impl
Elf_Vernaux: This is the structure of auxiliary data in SHT_GNU_verneed section (.gnu.version_r). More...
struct Elf_Verneed_Impl
Elf_Verneed: This is the structure of entries in the SHT_GNU_verneed section (.gnu.version_r). More...
struct Elf_Versym_Impl
Elf_Versym: This is the structure of entries in the SHT_GNU_versym section (.gnu.version). More...
class ELFFile
class ELFObjectFile
class ELFObjectFileBase
struct ELFPltEntry
class ELFRelocationRef
class ELFSectionRef
class ELFSymbolRef
struct ELFType
class EmptyResError
class ENDRecord
class ESDRecord
struct ExceptionSectionEntry
union export_address_table_entry
struct export_directory_table_entry
class ExportDirectoryEntryRef
class ExportEntry
ExportEntry encapsulates the current-state-of-the-walk used when doing a non-recursive walk of the trie data structure. More...
struct FpoData
class GenericBinaryError
Generic binary error. More...
class GOFFObjectFile
class GOFFSymbolRef
class HDRRecord
struct import_lookup_table_entry
class ImportDirectoryEntryRef
class ImportedSymbolRef
class IRObjectFile
struct IRSymtabFile
The contents of a bitcode file and its irsymtab. More...
class Lexer
struct LoaderSectionHeader32
struct LoaderSectionHeader64
struct LoaderSectionRelocationEntry32
struct LoaderSectionRelocationEntry64
struct LoaderSectionSymbolEntry32
struct LoaderSectionSymbolEntry64
class MachOAbstractFixupEntry
MachOAbstractFixupEntry is an abstract class representing a fixup in a MH_DYLDLINK file. More...
class MachOBindEntry
MachOBindEntry encapsulates the current state in the decompression of binding opcodes. More...
class MachOChainedFixupEntry
class MachOObjectFile
class MachORebaseEntry
MachORebaseEntry encapsulates the current state in the decompression of rebasing opcodes. More...
class MachOUniversalBinary
class MinidumpFile
A class providing access to the contents of a minidump file. More...
class ObjectFile
This class is the base class for all object file types. More...
class OffloadBinary
A simple binary serialization of an offloading file. More...
struct OffloadBundleEntry
Bundle entry in binary clang-offload-bundler format. More...
class OffloadBundleFatBin
Fat binary embedded in object files in clang-offload-bundler format. More...
struct OffloadBundleURI
class OffloadFile
A class to contain the binary information for a single OffloadBinary that owns its memory. More...
class OwningBinary
class Parser
struct pe32_header
The 32-bit PE header that follows the COFF header. More...
struct pe32plus_header
The 64-bit PE header that follows the COFF header. More...
struct PGOAnalysisMap
A feature extension of BBAddrMap that holds information relevant to PGO. More...
class Record
Represents a GOFF physical record. More...
class RelocationRef
This is a value type class that represents a single relocation in the list of relocations in the object file. More...
class ResourceEntryRef
class ResourceSectionRef
struct SectionedAddress
class SectionFilter
Creates an iterator range of SectionFilterIterators for a given Object and predicate. More...
class SectionFilterIterator
A filtered iterator for SectionRefs that skips sections based on some given predicate. More...
class SectionRef
This is a value type class that represents a single section in the list of sections in the object file. More...
class SectionStrippedError
class SFrameParser
class Slice
struct StringTableOffset
class symbol_iterator
class SymbolicFile
class SymbolRef
This is a value type class that represents a single symbol in the list of symbols in the object file. More...
struct SymEntry
class TapiFile
class TapiUniversal
class TBVectorExt
struct Token
class TXTRecord
struct UnixArMemHdrType
struct VerdAux
struct VerDef
struct VernAux
struct VerNeed
struct VersionEntry
struct ViewArray
class WasmObjectFile
struct WasmSection
class WasmSectionOrderChecker
struct WasmSegment
class WasmSymbol
class WindowsResource
class WindowsResourceCOFFWriter
class WindowsResourceParser
struct WinResHeaderPrefix
struct WinResHeaderSuffix
struct WinResIDs
class xcoff_symbol_iterator
struct XCOFFAuxiliaryHeader
struct XCOFFAuxiliaryHeader32
struct XCOFFAuxiliaryHeader64
struct XCOFFBlockAuxEnt32
struct XCOFFBlockAuxEnt64
struct XCOFFCsectAuxEnt32
struct XCOFFCsectAuxEnt64
class XCOFFCsectAuxRef
struct XCOFFExceptionAuxEnt
struct XCOFFFileAuxEnt
struct XCOFFFileHeader32
struct XCOFFFileHeader64
struct XCOFFFunctionAuxEnt32
struct XCOFFFunctionAuxEnt64
class XCOFFObjectFile
struct XCOFFRelocation
struct XCOFFRelocation32
struct XCOFFRelocation64
struct XCOFFSectAuxEntForDWARF32
struct XCOFFSectAuxEntForDWARF64
struct XCOFFSectAuxEntForStat
struct XCOFFSectionHeader
struct XCOFFSectionHeader32
struct XCOFFSectionHeader64
struct XCOFFStringTable
struct XCOFFSymbolEntry32
struct XCOFFSymbolEntry64
class XCOFFSymbolRef
class XCOFFTracebackTable
This class provides methods to extract traceback table data from a buffer. More...
Typedefs
typedef SmallVector< uint8_t, 10 > BuildID
A build ID in binary form.
typedef ArrayRef< uint8_t > BuildIDRef
A reference to a BuildID in binary form.
using import_directory_iterator = content_iterator<ImportDirectoryEntryRef>
using delay_import_directory_iterator
using export_directory_iterator = content_iterator<ExportDirectoryEntryRef>
using imported_symbol_iterator = content_iterator<ImportedSymbolRef>
using base_reloc_iterator = content_iterator<BaseRelocRef>
using dynamic_reloc_iterator = content_iterator<DynamicRelocRef>
using arm64x_reloc_iterator = content_iterator<Arm64XRelocRef>
using import_lookup_table_entry32
using import_lookup_table_entry64
using export_name_pointer_table_entry = support::ulittle32_t
using export_ordinal_table_entry = support::ulittle16_t
using coff_symbol16 = coff_symbol<support::ulittle16_t>
using coff_symbol32 = coff_symbol<support::ulittle32_t>
using coff_tls_directory32 = coff_tls_directory<support::little32_t>
using coff_tls_directory64 = coff_tls_directory<support::little64_t>
using ELF32LEFile = ELFFile<ELF32LE>
using ELF64LEFile = ELFFile<ELF64LE>
using ELF32BEFile = ELFFile<ELF32BE>
using ELF64BEFile = ELFFile<ELF64BE>
using ELF32LEObjectFile = ELFObjectFile<ELF32LE>
using ELF64LEObjectFile = ELFObjectFile<ELF64LE>
using ELF32BEObjectFile = ELFObjectFile<ELF32BE>
using ELF64BEObjectFile = ELFObjectFile<ELF64BE>
using ELF32LE = ELFType<llvm::endianness::little, false>
using ELF32BE = ELFType<llvm::endianness::big, false>
using ELF64LE = ELFType<llvm::endianness::little, true>
using ELF64BE = ELFType<llvm::endianness::big, true>
using dice_iterator = content_iterator<DiceRef>
using export_iterator = content_iterator<ExportEntry>
using rebase_iterator = content_iterator<MachORebaseEntry>
using bind_iterator = content_iterator<MachOBindEntry>
using fixup_iterator = content_iterator<MachOChainedFixupEntry>
using section_iterator = content_iterator<SectionRef>
typedef std::function< bool(const SectionRef &)> SectionFilterPredicate
using relocation_iterator = content_iterator<RelocationRef>
using SupportsRelocation = bool (*)(uint64_t)
using RelocationResolver
using basic_symbol_iterator = content_iterator<BasicSymbolRef>
typedef ExceptionSectionEntry< support::ubig32_t > ExceptionSectionEntry32
typedef ExceptionSectionEntry< support::ubig64_t > ExceptionSectionEntry64
Enumerations
enum class frame_type : uint16_t { Fpo = 0 , Trap = 1 , Tss = 2 , NonFpo = 3 }
enum chpe_range_type { Arm64 = 0 , Arm64EC = 1 , Amd64 = 2 }
enum PPCInstrMasks : uint64_t { PADDI_R12_NO_DISP = 0x0610000039800000 , ADDIS_R12_TO_R2_NO_DISP = 0x3D820000 , ADDI_R12_TO_R2_NO_DISP = 0x39820000 , ADDI_R12_TO_R12_NO_DISP = 0x398C0000 , PLD_R12_NO_DISP = 0x04100000E5800000 , MTCTR_R12 = 0x7D8903A6 , BCTR = 0x4E800420 }
enum class object_error { arch_not_found = 1 , invalid_file_type, parse_failed, unexpected_eof, string_table_non_null_end, invalid_section_index, bitcode_section_not_found, invalid_symbol_index, section_stripped }
enum class FatHeaderType { FatHeader, Fat64Header }
enum OffloadKind : uint16_t { OFK_None = 0 , OFK_OpenMP = (1 << 0) , OFK_Cuda = (1 << 1) , OFK_HIP = (1 << 2) , OFK_SYCL = (1 << 3) , OFK_LAST = (1 << 4) }
The producer of the associated offloading image. More...
enum ImageKind : uint16_t { IMG_None = 0 , IMG_Object, IMG_Bitcode, IMG_Cubin, IMG_Fatbinary, IMG_PTX, IMG_SPIRV, IMG_LAST }
The type of contents the offloading image contains. More...
enum UriTypeT { FILE_URI, MEMORY_URI }
enum Kind { Unknown, Eof, Identifier, Comma, Equal, EqualEqual, KwBase, KwConstant, KwData, KwExports, KwExportAs, KwHeapsize, KwLibrary, KwName, KwNoname, KwPrivate, KwStacksize, KwVersion }
Functions
LLVM_ABI Expected< std::unique_ptr< Binary > > createBinary (MemoryBufferRef Source, LLVMContext *Context=nullptr, bool InitContent=true)
Create a Binary from Source, autodetecting the file type.
LLVM_ABI Expected< OwningBinary< Binary > > createBinary (StringRef Path, LLVMContext *Context=nullptr, bool InitContent=true)
LLVM_ABI BuildID parseBuildID (StringRef Str)
Parses a build ID from a hex string.
LLVM_ABI BuildIDRef getBuildID (const ObjectFile *Obj)
Returns the build ID, if any, contained in the given object file.
LLVM_ABI Error writeImportLibrary (StringRef ImportName, StringRef Path, ArrayRef< COFFShortExport > Exports, COFF::MachineTypes Machine, bool MinGW, ArrayRef< COFFShortExport > NativeExports={})
Writes a COFF import library containing entries described by the Exports array.
LLVM_ABI Expected< COFFModuleDefinition > parseCOFFModuleDefinition (MemoryBufferRef MB, COFF::MachineTypes Machine, bool MingwDef=false, bool AddUnderscores=true)
LLVM_ABI StringRef getELFRelocationTypeName (uint32_t Machine, uint32_t Type)
LLVM_ABI StringRef getRISCVVendorRelocationTypeName (uint32_t Type, StringRef Vendor)
LLVM_ABI uint32_t getELFRelativeRelocationType (uint32_t Machine)
LLVM_ABI StringRef getELFSectionTypeName (uint32_t Machine, uint32_t Type)
std::pair< unsigned char, unsigned char > getElfArchType (StringRef Object)
template
static std::string getSecIndexForError (const ELFFile< ELFT > &Obj, const typename ELFT::Shdr &Sec)
template
static std::string describe (const ELFFile< ELFT > &Obj, const typename ELFT::Shdr &Sec)
template
static std::string getPhdrIndexForError (const ELFFile< ELFT > &Obj, const typename ELFT::Phdr &Phdr)
static Error defaultWarningHandler (const Twine &Msg)
template
static bool checkSectionOffsets (const typename ELFT::Phdr &Phdr, const typename ELFT::Shdr &Sec)
template
static bool checkSectionVMA (const typename ELFT::Phdr &Phdr, const typename ELFT::Shdr &Sec)
template
static bool isSectionInSegment (const typename ELFT::Phdr &Phdr, const typename ELFT::Shdr &Sec)
template<bool Is64>
static Error decodeCrel (ArrayRef< uint8_t > Content, function_ref< void(uint64_t, bool)> HdrHandler, function_ref< void(Elf_Crel_Impl< Is64 >)> EntryHandler)
template
Expected< const typename ELFT::Shdr * > getSection (typename ELFT::ShdrRange Sections, uint32_t Index)
template
Expected< uint32_t > getExtendedSymbolTableIndex (const typename ELFT::Sym &Sym, unsigned SymIndex, DataRegion< typename ELFT::Word > ShndxTable)
template
static Expected< uint64_t > getDynSymtabSizeFromGnuHash (const typename ELFT::GnuHash &Table, const void *BufEnd)
This function finds the number of dynamic symbols using a GNU hash table.
uint32_t hashSysV (StringRef SymbolName)
This function returns the hash value for a symbol in the .dynsym section Name of the API remains consistent as specified in the libelf REF : http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#hash.
uint32_t hashGnu (StringRef Name)
This function returns the hash value for a symbol in the .dynsym section for the GNU hash table.
bool operator< (const ELFSymbolRef &A, const ELFSymbolRef &B)
LLVM_ABI const std::error_category & object_category ()
std::error_code make_error_code (object_error e)
LLVM_ABI Error isNotObjectErrorInvalidFileType (llvm::Error Err)
isNotObjectErrorInvalidFileType() is used when looping through the children of an archive after calling getAsBinary() on the child and it returns an llvm::Error.
Error createError (const Twine &Err)
LLVM_ABI Expected< IRSymtabFile > readIRSymtab (MemoryBufferRef MBRef)
Reads a bitcode file, creating its irsymtab if necessary.
LLVM_ABI Error writeUniversalBinary (ArrayRef< Slice > Slices, StringRef OutputFileName, FatHeaderType FatHeader=FatHeaderType::FatHeader)
LLVM_ABI Error writeUniversalBinaryToStream (ArrayRef< Slice > Slices, raw_ostream &Out, FatHeaderType FatHeader=FatHeaderType::FatHeader)
bool operator< (const SectionedAddress &LHS, const SectionedAddress &RHS)
bool operator== (const SectionedAddress &LHS, const SectionedAddress &RHS)
LLVM_ABI raw_ostream & operator<< (raw_ostream &OS, const SectionedAddress &Addr)
LLVM_ABI Error extractOffloadBinaries (MemoryBufferRef Buffer, SmallVectorImpl< OffloadFile > &Binaries)
Extracts embedded device offloading code from a memory Buffer to a list of Binaries.
LLVM_ABI ImageKind getImageKind (StringRef Name)
Convert a string Name to an image kind.
LLVM_ABI StringRef getImageKindName (ImageKind Name)
Convert an image kind to its string representation.
LLVM_ABI OffloadKind getOffloadKind (StringRef Name)
Convert a string Name to an offload kind.
LLVM_ABI StringRef getOffloadKindName (OffloadKind Name)
Convert an offload kind to its string representation.
LLVM_ABI bool areTargetsCompatible (const OffloadFile::TargetID &LHS, const OffloadFile::TargetID &RHS)
If the target is AMD we check the target IDs for mutual compatibility.
LLVM_ABI Error extractOffloadBundleFatBinary (const ObjectFile &Obj, SmallVectorImpl< OffloadBundleFatBin > &Bundles)
Extracts fat binary in binary clang-offload-bundler format from object Obj and return it in Bundles.
LLVM_ABI Error extractCodeObject (const ObjectFile &Source, int64_t Offset, int64_t Size, StringRef OutputFileName)
Extract code object memory from the given Source object file at Offset and of Size, and copy into OutputFileName.
LLVM_ABI Error extractCodeObject (MemoryBufferRef Buffer, int64_t Offset, int64_t Size, StringRef OutputFileName)
Extract code object memory from the given Source object file at Offset and of Size, and copy into OutputFileName.
LLVM_ABI Error extractOffloadBundleByURI (StringRef URIstr)
Extracts an Offload Bundle Entry given by URI.
LLVM_ABI std::pair< SupportsRelocation, RelocationResolver > getRelocationResolver (const ObjectFile &Obj)
LLVM_ABI uint64_t resolveRelocation (RelocationResolver Resolver, const RelocationRef &R, uint64_t S, uint64_t LocData)
template
OStream & operator<< (OStream &OS, const DataRefImpl &D)
bool operator== (const DataRefImpl &a, const DataRefImpl &b)
bool operator!= (const DataRefImpl &a, const DataRefImpl &b)
bool operator< (const DataRefImpl &a, const DataRefImpl &b)
LLVM_ABI int compareAddress (const SymEntry *A, const SymEntry *B)
LLVM_ABI std::vector< std::pair< SymbolRef, uint64_t > > computeSymbolSizes (const ObjectFile &O)
LLVM_ABI Expected< std::unique_ptr< MemoryBuffer > > writeWindowsResourceCOFF (llvm::COFF::MachineTypes MachineType, const WindowsResourceParser &Parser, uint32_t TimeDateStamp)
LLVM_ABI void printResourceTypeName (uint16_t TypeID, raw_ostream &OS)
LLVM_ABI bool doesXCOFFTracebackTableBegin (ArrayRef< uint8_t > Bytes)
static StringRef applyNameType (ImportNameType Type, StringRef name)
static uint16_t getImgRelRelocation (MachineTypes Machine)
template<class T>
static void append (std::vector< uint8_t > &B, const T &Data)
static void writeStringTable (std::vector< uint8_t > &B, ArrayRef< const std::string_view > Strings)
static ImportNameType getNameType (StringRef Sym, StringRef ExtName, MachineTypes Machine, bool MinGW)
static Expected< std::string > replace (StringRef S, StringRef From, StringRef To)
static bool isDecorated (StringRef Sym, bool MingwDef)
static int64_t getELFAddend (RelocationRef R)
static bool supportsX86_64 (uint64_t Type)
static uint64_t resolveX86_64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static bool supportsAArch64 (uint64_t Type)
static uint64_t resolveAArch64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsBPF (uint64_t Type)
static uint64_t resolveBPF (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsMips64 (uint64_t Type)
static uint64_t resolveMips64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsMSP430 (uint64_t Type)
static uint64_t resolveMSP430 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsPPC64 (uint64_t Type)
static uint64_t resolvePPC64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsSystemZ (uint64_t Type)
static uint64_t resolveSystemZ (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsSparc64 (uint64_t Type)
static uint64_t resolveSparc64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool isAMDGPU (const ObjectFile &Obj)
Returns true if Obj is an AMDGPU code object based solely on the value of e_machine.
static bool supportsAmdgpu (uint64_t Type)
static uint64_t resolveAmdgpu (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static bool supportsX86 (uint64_t Type)
static uint64_t resolveX86 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsPPC32 (uint64_t Type)
static uint64_t resolvePPC32 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsARM (uint64_t Type)
static uint64_t resolveARM (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static bool supportsAVR (uint64_t Type)
static uint64_t resolveAVR (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsLanai (uint64_t Type)
static uint64_t resolveLanai (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsMips32 (uint64_t Type)
static uint64_t resolveMips32 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsSparc32 (uint64_t Type)
static uint64_t resolveSparc32 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static bool supportsHexagon (uint64_t Type)
static uint64_t resolveHexagon (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t, int64_t Addend)
static bool supportsRISCV (uint64_t Type)
static uint64_t resolveRISCV (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static bool supportsCSKY (uint64_t Type)
static uint64_t resolveCSKY (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static bool supportsLoongArch (uint64_t Type)
static uint64_t resolveLoongArch (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static bool supportsCOFFX86 (uint64_t Type)
static uint64_t resolveCOFFX86 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsCOFFX86_64 (uint64_t Type)
static uint64_t resolveCOFFX86_64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsCOFFARM (uint64_t Type)
static uint64_t resolveCOFFARM (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsCOFFARM64 (uint64_t Type)
static uint64_t resolveCOFFARM64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsMachOX86_64 (uint64_t Type)
static uint64_t resolveMachOX86_64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static bool supportsWasm32 (uint64_t Type)
static bool supportsWasm64 (uint64_t Type)
static uint64_t resolveWasm32 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t)
static uint64_t resolveWasm64 (uint64_t Type, uint64_t Offset, uint64_t S, uint64_t LocData, int64_t Addend)
static Error readStringOrId (BinaryStreamReader &Reader, uint16_t &ID, ArrayRef< UTF16 > &Str, bool &IsString)
static bool convertUTF16LEToUTF8String (ArrayRef< UTF16 > Src, std::string &Out)
static std::string makeDuplicateResourceError (const ResourceEntryRef &Entry, StringRef File1, StringRef File2)
static void printStringOrID (const WindowsResourceParser::StringOrID &S, raw_string_ostream &OS, bool IsType, bool IsID)
static std::string makeDuplicateResourceError (const std::vector< WindowsResourceParser::StringOrID > &Context, StringRef File1, StringRef File2)
static void coffnamecpy (char(&Dest)[COFF::NameSize], StringRef Src)
template<typename T>
static Expected< const T * > getObject (MemoryBufferRef M, const void *Ptr, const uint64_t Size=sizeof(T))
static uintptr_t getWithOffset (uintptr_t Base, ptrdiff_t Offset)
template<typename T>
static const T * viewAs (uintptr_t in)
static StringRef generateXCOFFFixedNameStringRef (const char *Name)
template<typename T>
Expected< StringRef > getLoaderSecSymNameInStrTbl (const T *LoaderSecHeader, uint64_t Offset)
template LLVM_EXPORT_TEMPLATE llvm::Expected< llvm::ArrayRef< llvm::object::XCOFFRelocation64 > > llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader64, llvm::object::XCOFFRelocation64 > (llvm::object::XCOFFSectionHeader64 const &) const
template LLVM_EXPORT_TEMPLATE llvm::Expected< llvm::ArrayRef< llvm::object::XCOFFRelocation32 > > llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader32, llvm::object::XCOFFRelocation32 > (llvm::object::XCOFFSectionHeader32 const &) const
Variables
const char ArchiveMagic [] = "!\n"
const char ThinArchiveMagic [] = "!\n"
const char BigArchiveMagic [] = "\n"
constexpr std::string_view ImportDescriptorPrefix = "__IMPORT_DESCRIPTOR_"
constexpr std::string_view NullImportDescriptorSymbolName
constexpr std::string_view NullThunkDataPrefix = "\x7f"
constexpr std::string_view NullThunkDataSuffix = "_NULL_THUNK_DATA"
constexpr int NumElfSymbolTypes = 16
LLVM_ABI const llvm::EnumEntry< unsigned > ElfSymbolTypes [NumElfSymbolTypes]
template class LLVM_TEMPLATE_ABI SFrameParser< endianness::big >
template class LLVM_TEMPLATE_ABI SFrameParser< endianness::little >
const size_t WIN_RES_MAGIC_SIZE = 16
const size_t WIN_RES_NULL_ENTRY_SIZE = 16
const uint32_t WIN_RES_HEADER_ALIGNMENT = 4
const uint32_t WIN_RES_DATA_ALIGNMENT = 4
const uint16_t WIN_RES_PURE_MOVEABLE = 0x0030
template struct LLVM_TEMPLATE_ABI XCOFFSectionHeader< XCOFFSectionHeader32 >
template struct LLVM_TEMPLATE_ABI XCOFFSectionHeader< XCOFFSectionHeader64 >
template struct LLVM_TEMPLATE_ABI ExceptionSectionEntry< support::ubig32_t >
template struct LLVM_TEMPLATE_ABI ExceptionSectionEntry< support::ubig64_t >
template struct LLVM_TEMPLATE_ABI XCOFFRelocation< llvm::support::ubig32_t >
template struct LLVM_TEMPLATE_ABI XCOFFRelocation< llvm::support::ubig64_t >
const uint32_t MIN_HEADER_SIZE = 7 * sizeof(uint32_t) + 2 * sizeof(uint16_t)
const uint32_t SECTION_ALIGNMENT = sizeof(uint64_t)
static const uint8_t FunctionSym = 0x20
static const uint16_t NoRelMask = 0x0001
static const size_t SymbolAuxTypeOffset = 17

arm64x_reloc_iterator

base_reloc_iterator

basic_symbol_iterator

bind_iterator

BuildID

A build ID in binary form.

Definition at line 26 of file BuildID.h.

BuildIDRef

A reference to a BuildID in binary form.

Definition at line 29 of file BuildID.h.

coff_symbol16

coff_symbol32

coff_tls_directory32

coff_tls_directory64

delay_import_directory_iterator

Initial value:

Definition at line 49 of file COFF.h.

dice_iterator

dynamic_reloc_iterator

ELF32BE

ELF32BEFile

ELF32BEObjectFile

ELF32LE

ELF32LEFile

ELF32LEObjectFile

ELF64BE

ELF64BEFile

ELF64BEObjectFile

ELF64LE

ELF64LEFile

ELF64LEObjectFile

ExceptionSectionEntry32

ExceptionSectionEntry64

export_directory_iterator

export_iterator

export_name_pointer_table_entry

export_ordinal_table_entry

fixup_iterator

import_directory_iterator

import_lookup_table_entry32

Initial value:

Definition at line 210 of file COFF.h.

import_lookup_table_entry64

Initial value:

Definition at line 212 of file COFF.h.

imported_symbol_iterator

rebase_iterator

relocation_iterator

RelocationResolver

Initial value:

int64_t Addend)

The instances of the Type class are immutable: once they are created, they are never changed.

Definition at line 29 of file RelocationResolver.h.

section_iterator

SectionFilterPredicate

SupportsRelocation

chpe_range_type

Enumerator
Arm64
Arm64EC
Amd64

Definition at line 762 of file COFF.h.

FatHeaderType

frame_type

Enumerator
Fpo
Trap
Tss
NonFpo

Definition at line 609 of file COFF.h.

ImageKind

The type of contents the offloading image contains.

Enumerator
IMG_None
IMG_Object
IMG_Bitcode
IMG_Cubin
IMG_Fatbinary
IMG_PTX
IMG_SPIRV
IMG_LAST

Definition at line 44 of file OffloadBinary.h.

Kind

Enumerator
Unknown
Eof
Identifier
Comma
Equal
EqualEqual
KwBase
KwConstant
KwData
KwExports
KwExportAs
KwHeapsize
KwLibrary
KwName
KwNoname
KwPrivate
KwStacksize
KwVersion

Definition at line 31 of file COFFModuleDefinition.cpp.

object_error

Enumerator
arch_not_found
invalid_file_type
parse_failed
unexpected_eof
string_table_non_null_end
invalid_section_index
bitcode_section_not_found
invalid_symbol_index
section_stripped

Definition at line 28 of file Error.h.

OffloadKind

The producer of the associated offloading image.

Enumerator
OFK_None
OFK_OpenMP
OFK_Cuda
OFK_HIP
OFK_SYCL
OFK_LAST

Definition at line 34 of file OffloadBinary.h.

PPCInstrMasks

Enumerator
PADDI_R12_NO_DISP
ADDIS_R12_TO_R2_NO_DISP
ADDI_R12_TO_R2_NO_DISP
ADDI_R12_TO_R12_NO_DISP
PLD_R12_NO_DISP
MTCTR_R12
BCTR

Definition at line 90 of file ELF.h.

UriTypeT

append()

template<class T>

void llvm::object::append ( std::vector< uint8_t > & B, const T & Data ) static

applyNameType()

areTargetsCompatible()

If the target is AMD we check the target IDs for mutual compatibility.

A target id is a string conforming to the folowing BNF syntax:

target-id ::= ' ( : ( '+' | '-' ) )*'

The features 'xnack' and 'sramecc' are currently supported. These can be in the state of on, off, and any when unspecified. A target marked as any can bind with either on or off. This is used to link mutually compatible architectures together. Returns false in the case of an exact match.

Definition at line 350 of file OffloadBinary.cpp.

References T.

checkSectionOffsets()

template

bool llvm::object::checkSectionOffsets ( const typename ELFT::Phdr & Phdr, const typename ELFT::Shdr & Sec ) static

checkSectionVMA()

template

bool llvm::object::checkSectionVMA ( const typename ELFT::Phdr & Phdr, const typename ELFT::Shdr & Sec ) static

coffnamecpy()

void llvm::object::coffnamecpy ( char(&) _Dest_[COFF::NameSize], StringRef Src ) static

compareAddress()

computeSymbolSizes()

Definition at line 50 of file SymbolSize.cpp.

References llvm::Address, llvm::array_pod_sort(), compareAddress(), llvm::dyn_cast(), getSectionID(), getSymbolSectionID(), llvm::object::SymbolRef::getValue(), I, N, P, llvm::report_fatal_error(), Size, and llvm::Expected< T >::takeError().

Referenced by llvm::symbolize::SymbolizableObjectFile::create().

convertUTF16LEToUTF8String()

bool llvm::object::convertUTF16LEToUTF8String ( ArrayRef< UTF16 > Src, std::string & Out ) static

createBinary() [1/2]

Create a Binary from Source, autodetecting the file type.

Parameters

Source The data to create the Binary from.

Definition at line 45 of file Binary.cpp.

References llvm::file_magic::archive, llvm::file_magic::bitcode, llvm::file_magic::clang_ast, llvm::file_magic::coff_cl_gl_object, llvm::file_magic::coff_import_library, llvm::file_magic::coff_object, llvm::object::Archive::create(), llvm::object::MachOUniversalBinary::create(), llvm::object::MinidumpFile::create(), llvm::object::OffloadBinary::create(), llvm::object::TapiUniversal::create(), llvm::object::SymbolicFile::createSymbolicFile(), llvm::object::WindowsResource::createWindowsResource(), llvm::file_magic::cuda_fatbinary, llvm::file_magic::dxcontainer_object, llvm::file_magic::elf, llvm::file_magic::elf_core, llvm::file_magic::elf_executable, llvm::file_magic::elf_relocatable, llvm::file_magic::elf_shared_object, llvm::errorCodeToError(), llvm::MemoryBufferRef::getBuffer(), llvm::file_magic::goff_object, llvm::identify_magic(), invalid_file_type, llvm_unreachable, llvm::file_magic::macho_bundle, llvm::file_magic::macho_core, llvm::file_magic::macho_dsym_companion, llvm::file_magic::macho_dynamic_linker, llvm::file_magic::macho_dynamically_linked_shared_lib, llvm::file_magic::macho_dynamically_linked_shared_lib_stub, llvm::file_magic::macho_executable, llvm::file_magic::macho_file_set, llvm::file_magic::macho_fixed_virtual_memory_shared_lib, llvm::file_magic::macho_kext_bundle, llvm::file_magic::macho_object, llvm::file_magic::macho_preload_executable, llvm::file_magic::macho_universal_binary, llvm::file_magic::minidump, llvm::file_magic::offload_binary, llvm::file_magic::offload_bundle, llvm::file_magic::offload_bundle_compressed, llvm::file_magic::pdb, llvm::file_magic::pecoff_executable, llvm::file_magic::spirv_object, llvm::file_magic::tapi_file, llvm::file_magic::unknown, llvm::file_magic::wasm_object, llvm::file_magic::windows_resource, llvm::file_magic::xcoff_object_32, and llvm::file_magic::xcoff_object_64.

Referenced by llvm::MachO::DylibReader::accumulateSourceLocFromDSYM(), llvm::orc::StaticLibraryDefinitionGenerator::Create(), llvm::coverage::BinaryCoverageReader::create(), llvm::memprof::RawMemProfReader::create(), createBinary(), llvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary(), llvm::object::Archive::Child::getAsBinary(), llvm::orc::getDylibInterfaceFromDylib(), getPdbPathFromExe(), LLVMCreateBinary(), llvm::pdb::InputFile::open(), llvm::orc::COFFImportFileScanner::operator()(), llvm::ifs::readELFFile(), and llvm::MachO::DylibReader::readFile().

createBinary() [2/2]

createError()

Definition at line 86 of file Error.h.

References llvm::make_error(), and parse_failed.

Referenced by llvm::object::ELFFile< ELFT >::android_relas(), llvm::object::ELFFile< ELFT >::create(), llvm::object::SFrameParser< E >::create(), llvm::object::ObjectFile::createELFObjectFile(), decodeBBAddrMapImpl(), defaultWarningHandler(), llvm::object::ELFFile< ELFT >::dynamicEntries(), fixupIndexV4(), fixupIndexV5(), llvm::object::MachOObjectFile::getDyldChainedFixupTargets(), llvm::object::ELFFile< ELFT >::getEntry(), getExtendedSymbolTableIndex(), llvm::object::XCOFFObjectFile::getImportFileTable(), llvm::object::ELFFile< ELFT >::getLinkAsStrtab(), getLoaderSecSymNameInStrTbl(), llvm::object::XCOFFObjectFile::getRawData(), llvm::object::ELFObjectFile< ELFT >::getRelocationAddend(), getSection(), llvm::object::ELFFile< ELFT >::getSectionAndRelocations(), llvm::object::XCOFFObjectFile::getSectionContents(), llvm::object::ELFFile< ELFT >::getSectionContentsAsArray(), llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData(), llvm::object::ELFFile< ELFT >::getSectionName(), llvm::object::ELFFile< ELFT >::getSectionStringTable(), llvm::object::ELFFile< ELFT >::getSegmentContents(), llvm::object::ELFFile< ELFT >::getSHNDXTable(), llvm::object::ELFFile< ELFT >::getStringTable(), llvm::object::XCOFFObjectFile::getStringTableEntry(), llvm::object::ELFFile< ELFT >::getStringTableForSymtab(), llvm::object::ELFFile< ELFT >::getSymbol(), llvm::object::XCOFFObjectFile::getSymbolNameByIndex(), llvm::object::ELFFile< ELFT >::getSymbolVersionByIndex(), llvm::object::ELFFile< ELFT >::getVersionDefinitions(), llvm::object::ELFFile< ELFT >::getVersionDependencies(), llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), handleCompressedSection(), llvm::object::SFrameParser< E >::FallibleFREIterator::inc(), llvm::object::XCOFFSymbolRef::isFunction(), llvm::object::MachOChainedFixupEntry::moveNext(), llvm::object::ELFFile< ELF32LE >::notes_begin(), llvm::object::ELFFile< ELF32LE >::notes_begin(), llvm::object::DataRegion< T >::operator, llvm::object::ELFFile< ELF32LE >::program_headers(), readBBAddrMapImpl(), readDynsymVersionsImpl(), readFRE(), readULEB128As(), llvm::object::XCOFFObjectFile::relocations(), llvm::object::ELFFile< ELFT >::sections(), llvm::object::ELFFile< ELFT >::toMappedAddr(), and llvm::StackMapParser< Endianness >::validateHeader().

decodeCrel()

defaultWarningHandler()

Error llvm::object::defaultWarningHandler ( const Twine & Msg) inlinestatic

describe()

template

std::string llvm::object::describe ( const ELFFile< ELFT > & Obj, const typename ELFT::Shdr & Sec ) static

doesXCOFFTracebackTableBegin()

extractCodeObject() [1/2]

extractCodeObject() [2/2]

extractOffloadBinaries()

Extracts embedded device offloading code from a memory Buffer to a list of Binaries.

Definition at line 269 of file OffloadBinary.cpp.

References llvm::file_magic::archive, llvm::file_magic::bitcode, llvm::file_magic::coff_object, llvm::object::Archive::create(), llvm::object::ObjectFile::createObjectFile(), llvm::file_magic::elf_executable, llvm::file_magic::elf_relocatable, llvm::file_magic::elf_shared_object, llvm::Expected< T >::get(), llvm::MemoryBufferRef::getBuffer(), llvm::identify_magic(), llvm::file_magic::offload_binary, llvm::Error::success(), and llvm::Expected< T >::takeError().

Referenced by llvm::offloading::wrapSYCLBinaries().

extractOffloadBundleByURI()

Extracts an Offload Bundle Entry given by URI.

Definition at line 258 of file OffloadBundle.cpp.

References llvm::object::ObjectFile::createObjectFile(), llvm::object::OffloadBundleURI::createOffloadBundleURI(), extractCodeObject(), FILE_URI, llvm::object::OffloadBundleURI::FileName, llvm::itostr(), llvm::object::OffloadBundleURI::Offset, llvm::object::OffloadBundleURI::Size, llvm::StringRef::str(), llvm::Error::success(), and llvm::Expected< T >::takeError().

extractOffloadBundleFatBinary()

generateXCOFFFixedNameStringRef()

getBuildID()

getDynSymtabSizeFromGnuHash()

getELFAddend()

getElfArchType()

getELFRelativeRelocationType()

Definition at line 207 of file ELF.cpp.

References llvm::ELF::EM_386, llvm::ELF::EM_AARCH64, llvm::ELF::EM_AMDGPU, llvm::ELF::EM_ARC_COMPACT, llvm::ELF::EM_ARC_COMPACT2, llvm::ELF::EM_ARM, llvm::ELF::EM_AVR, llvm::ELF::EM_BPF, llvm::ELF::EM_CSKY, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_IAMCU, llvm::ELF::EM_LANAI, llvm::ELF::EM_LOONGARCH, llvm::ELF::EM_MIPS, llvm::ELF::EM_PPC, llvm::ELF::EM_PPC64, llvm::ELF::EM_RISCV, llvm::ELF::EM_S390, llvm::ELF::EM_SPARC, llvm::ELF::EM_SPARC32PLUS, llvm::ELF::EM_SPARCV9, llvm::ELF::EM_VE, llvm::ELF::EM_X86_64, and Machine.

Referenced by llvm::object::ELFFile< ELFT >::getRelativeRelocationType().

getELFRelocationTypeName()

Definition at line 25 of file ELF.cpp.

References llvm::ELF::EM_386, llvm::ELF::EM_68K, llvm::ELF::EM_AARCH64, llvm::ELF::EM_AMDGPU, llvm::ELF::EM_ARC_COMPACT, llvm::ELF::EM_ARC_COMPACT2, llvm::ELF::EM_ARM, llvm::ELF::EM_AVR, llvm::ELF::EM_BPF, llvm::ELF::EM_CSKY, llvm::ELF::EM_HEXAGON, llvm::ELF::EM_IAMCU, llvm::ELF::EM_LANAI, llvm::ELF::EM_LOONGARCH, llvm::ELF::EM_MIPS, llvm::ELF::EM_MSP430, llvm::ELF::EM_PPC, llvm::ELF::EM_PPC64, llvm::ELF::EM_RISCV, llvm::ELF::EM_S390, llvm::ELF::EM_SPARC, llvm::ELF::EM_SPARC32PLUS, llvm::ELF::EM_SPARCV9, llvm::ELF::EM_VE, llvm::ELF::EM_X86_64, llvm::ELF::EM_XTENSA, and Machine.

Referenced by llvm::jitlink::getJITLinkEdgeKind(), llvm::object::ELFFile< ELFT >::getRelocationTypeName(), and llvm::object::ELFObjectFile< ELFT >::getRelocationTypeName().

getELFSectionTypeName()

getExtendedSymbolTableIndex()

getImageKind()

getImageKindName()

getImgRelRelocation()

Definition at line 122 of file COFFImportFile.cpp.

References llvm::COFF::IMAGE_FILE_MACHINE_AMD64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64EC, llvm::COFF::IMAGE_FILE_MACHINE_ARM64X, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT, llvm::COFF::IMAGE_FILE_MACHINE_I386, llvm::COFF::IMAGE_FILE_MACHINE_R4000, llvm::COFF::IMAGE_REL_AMD64_ADDR32NB, llvm::COFF::IMAGE_REL_ARM64_ADDR32NB, llvm::COFF::IMAGE_REL_ARM_ADDR32NB, llvm::COFF::IMAGE_REL_I386_DIR32NB, llvm::COFF::IMAGE_REL_MIPS_REFWORDNB, llvm_unreachable, and Machine.

getLoaderSecSymNameInStrTbl()

getNameType()

getObject()

getOffloadKind()

getOffloadKindName()

StringRef llvm::object::getOffloadKindName ( OffloadKind Name )

getPhdrIndexForError()

template

std::string llvm::object::getPhdrIndexForError ( const ELFFile< ELFT > & Obj, const typename ELFT::Phdr & Phdr ) static

getRelocationResolver()

Definition at line 774 of file RelocationResolver.cpp.

References llvm::Triple::aarch64, llvm::Triple::aarch64_be, llvm::Triple::amdgcn, llvm::Triple::arm, llvm::Triple::armeb, assert(), llvm::Triple::avr, llvm::Triple::bpfeb, llvm::Triple::bpfel, llvm::Triple::csky, llvm::Triple::hexagon, isAMDGPU(), llvm::Triple::lanai, llvm_unreachable, llvm::Triple::loongarch32, llvm::Triple::loongarch64, llvm::Triple::mips, llvm::Triple::mips64, llvm::Triple::mips64el, llvm::Triple::mipsel, llvm::Triple::msp430, llvm::Triple::ppc, llvm::Triple::ppc64, llvm::Triple::ppc64le, llvm::Triple::ppcle, llvm::Triple::r600, resolveAArch64(), resolveAmdgpu(), resolveARM(), resolveAVR(), resolveBPF(), resolveCOFFARM(), resolveCOFFARM64(), resolveCOFFX86(), resolveCOFFX86_64(), resolveCSKY(), resolveHexagon(), resolveLanai(), resolveLoongArch(), resolveMachOX86_64(), resolveMips32(), resolveMips64(), resolveMSP430(), resolvePPC32(), resolvePPC64(), resolveRISCV(), resolveSparc32(), resolveSparc64(), resolveSystemZ(), resolveWasm32(), resolveWasm64(), resolveX86(), resolveX86_64(), llvm::Triple::riscv32, llvm::Triple::riscv32be, llvm::Triple::riscv64, llvm::Triple::riscv64be, llvm::Triple::sparc, llvm::Triple::sparcv9, supportsAArch64(), supportsAmdgpu(), supportsARM(), supportsAVR(), supportsBPF(), supportsCOFFARM(), supportsCOFFARM64(), supportsCOFFX86(), supportsCOFFX86_64(), supportsCSKY(), supportsHexagon(), supportsLanai(), supportsLoongArch(), supportsMachOX86_64(), supportsMips32(), supportsMips64(), supportsMSP430(), supportsPPC32(), supportsPPC64(), supportsRISCV(), supportsSparc32(), supportsSparc64(), supportsSystemZ(), supportsWasm32(), supportsWasm64(), supportsX86(), supportsX86_64(), llvm::Triple::systemz, llvm::Triple::thumb, llvm::Triple::wasm32, llvm::Triple::wasm64, llvm::Triple::x86, and llvm::Triple::x86_64.

Referenced by loadObj().

getRISCVVendorRelocationTypeName()

getSecIndexForError()

template

std::string llvm::object::getSecIndexForError ( const ELFFile< ELFT > & Obj, const typename ELFT::Shdr & Sec ) static

getSection()

template

Expected< const typename ELFT::Shdr * > llvm::object::getSection ( typename ELFT::ShdrRange Sections, uint32_t Index ) inline

Definition at line 586 of file ELF.h.

References createError().

Referenced by llvm::object::ELFFile< ELFT >::getEntry(), llvm::object::ELFFile< ELFT >::getLinkAsStrtab(), llvm::object::ELFObjectFile< ELFT >::getRelocatedSection(), llvm::object::ELFFile< ELFT >::getSection(), llvm::object::ELFFile< ELFT >::getSection(), llvm::object::ELFFile< ELFT >::getSection(), llvm::object::ELFObjectFile< ELFT >::getSectionAddress(), llvm::object::ELFObjectFile< ELFT >::getSectionAlignment(), llvm::object::ELFFile< ELFT >::getSectionAndRelocations(), llvm::object::ELFObjectFile< ELFT >::getSectionContents(), llvm::object::ELFObjectFile< ELFT >::getSectionFlags(), llvm::object::ELFObjectFile< ELFT >::getSectionIndex(), llvm::object::ELFObjectFile< ELFT >::getSectionName(), llvm::object::ELFObjectFile< ELFT >::getSectionOffset(), llvm::object::ELFObjectFile< ELFT >::getSectionSize(), llvm::object::ELFObjectFile< ELFT >::getSectionType(), llvm::object::ELFFile< ELFT >::getSHNDXTable(), llvm::object::ELFFile< ELFT >::getStringTableForSymtab(), llvm::object::ELFObjectFile< ELFT >::isBerkeleyData(), llvm::object::ELFObjectFile< ELFT >::isBerkeleyText(), llvm::object::ELFObjectFile< ELFT >::isSectionBSS(), llvm::object::ELFObjectFile< ELFT >::isSectionCompressed(), llvm::object::ELFObjectFile< ELFT >::isSectionData(), llvm::object::ELFObjectFile< ELFT >::isSectionText(), llvm::object::ELFObjectFile< ELFT >::isSectionVirtual(), LLVMMoveToContainingSection(), llvm::object::ELFObjectFile< ELFT >::moveSectionNext(), and llvm::orc::ELFDebugObject::reportSectionTargetMemoryRange().

getWithOffset()

uintptr_t llvm::object::getWithOffset ( uintptr_t Base, ptrdiff_t Offset ) static

hashGnu()

hashSysV()

isAMDGPU()

isDecorated()

isNotObjectErrorInvalidFileType()

isSectionInSegment()

template

bool llvm::object::isSectionInSegment ( const typename ELFT::Phdr & Phdr, const typename ELFT::Shdr & Sec ) static

llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader32, llvm::object::XCOFFRelocation32 >()

llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader64, llvm::object::XCOFFRelocation64 >()

make_error_code()

std::error_code llvm::object::make_error_code ( object_error e) inline

makeDuplicateResourceError() [1/2]

makeDuplicateResourceError() [2/2]

object_category()

const std::error_category & llvm::object::object_category ( )

operator!=()

operator<() [1/3]

operator<() [2/3]

operator<() [3/3]

operator<<() [1/2]

template

operator<<() [2/2]

operator==() [1/2]

operator==() [2/2]

parseBuildID()

parseCOFFModuleDefinition()

printResourceTypeName()

printStringOrID()

readIRSymtab()

readStringOrId()

replace()

resolveAArch64()

resolveAmdgpu()

resolveARM()

resolveAVR()

resolveBPF()

resolveCOFFARM()

resolveCOFFARM64()

resolveCOFFX86()

resolveCOFFX86_64()

resolveCSKY()

resolveHexagon()

resolveLanai()

resolveLoongArch()

resolveMachOX86_64()

resolveMips32()

resolveMips64()

resolveMSP430()

resolvePPC32()

resolvePPC64()

resolveRelocation()

Definition at line 879 of file RelocationResolver.cpp.

References llvm::cast(), llvm::dyn_cast(), getELFAddend(), llvm::Triple::loongarch32, llvm::Triple::loongarch64, llvm::Triple::riscv32, llvm::Triple::riscv32be, llvm::Triple::riscv64, llvm::Triple::riscv64be, llvm::ELF::SHT_CREL, and llvm::ELF::SHT_RELA.

Referenced by llvm::DWARFDataExtractor::getRelocatedValueImpl(), and loadObj().

resolveRISCV()

resolveSparc32()

resolveSparc64()

resolveSystemZ()

resolveWasm32()

resolveWasm64()

resolveX86()

resolveX86_64()

supportsAArch64()

supportsAmdgpu()

supportsARM()

supportsAVR()

supportsBPF()

supportsCOFFARM()

supportsCOFFARM64()

bool llvm::object::supportsCOFFARM64 ( uint64_t Type) static

supportsCOFFX86()

supportsCOFFX86_64()

bool llvm::object::supportsCOFFX86_64 ( uint64_t Type) static

supportsCSKY()

supportsHexagon()

supportsLanai()

supportsLoongArch()

bool llvm::object::supportsLoongArch ( uint64_t Type) static

supportsMachOX86_64()

bool llvm::object::supportsMachOX86_64 ( uint64_t Type) static

supportsMips32()

supportsMips64()

supportsMSP430()

supportsPPC32()

supportsPPC64()

supportsRISCV()

supportsSparc32()

supportsSparc64()

supportsSystemZ()

supportsWasm32()

supportsWasm64()

supportsX86()

supportsX86_64()

viewAs()

template<typename T>

const T * llvm::object::viewAs ( uintptr_t in) static

writeImportLibrary()

Writes a COFF import library containing entries described by the Exports array.

For hybrid targets such as ARM64EC, additional native entry points can be exposed using the NativeExports parameter. When NativeExports is used, the output import library will expose these native ARM64 imports alongside the entries described in the Exports array. Such a library can be used for linking both ARM64EC and pure ARM64 objects, and the linker will pick only the exports relevant to the target platform. For non-hybrid targets, the NativeExports parameter should not be used.

Definition at line 661 of file COFFImportFile.cpp.

References applyNameType(), D(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::Export, llvm::sys::path::filename(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::getArm64ECDemangledFunctionName(), llvm::getArm64ECMangledFunctionName(), getNameType(), llvm::COFF::IMAGE_FILE_MACHINE_ARM64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64EC, llvm::COFF::IMAGE_FILE_MACHINE_I386, llvm::COFF::IMPORT_CODE, llvm::COFF::IMPORT_CONST, llvm::COFF::IMPORT_DATA, llvm::COFF::IMPORT_NAME, llvm::COFF::IMPORT_NAME_EXPORTAS, llvm::COFF::IMPORT_NAME_NOPREFIX, llvm::COFF::IMPORT_NAME_UNDECORATE, llvm::COFF::IMPORT_ORDINAL, llvm::COFF::isArm64EC(), llvm::object::Archive::K_COFF, Machine, llvm::make_error(), llvm::NormalSymtab, parse_failed, llvm::SmallVectorTemplateBase< T, bool >::push_back(), replace(), llvm::Error::success(), llvm::Expected< T >::takeError(), and llvm::writeArchive().

Referenced by llvm::dlltoolDriverMain(), and llvm::libDriverMain().

writeStringTable()

void llvm::object::writeStringTable ( std::vector< uint8_t > & B, ArrayRef< const std::string_view > Strings ) static

writeUniversalBinary()

Definition at line 352 of file MachOUniversalWriter.cpp.

References llvm::sys::fs::all_exe, llvm::sys::fs::all_read, llvm::sys::fs::all_write, llvm::any_of(), llvm::sys::fs::can_execute(), llvm::sys::fs::TempFile::create(), llvm::object::Slice::getBinary(), llvm::object::Binary::getFileName(), llvm::joinErrors(), llvm::Expected< T >::takeError(), and writeUniversalBinaryToStream().

writeUniversalBinaryToStream()

writeWindowsResourceCOFF()

ArchiveMagic

const char llvm::object::ArchiveMagic[] = "!\n"

BigArchiveMagic

const char llvm::object::BigArchiveMagic[] = "\n"

ElfSymbolTypes

Initial value:

= {

{"Unknown", ": 7", 7},

{"Unknown", ": 8", 8},

{"Unknown", ": 9", 9},

{"OS Specific", ": 11", 11},

{"OS Specific", ": 12", 12},

{"Proc Specific", ": 13", 13},

{"Proc Specific", ": 14", 14},

{"Proc Specific", ": 15", 15}

}

Definition at line 40 of file ELFObjectFile.cpp.

Referenced by llvm::object::ELFSymbolRef::getELFTypeName().

ExceptionSectionEntry< support::ubig32_t >

ExceptionSectionEntry< support::ubig64_t >

FunctionSym

ImportDescriptorPrefix

std::string_view llvm::object::ImportDescriptorPrefix = "__IMPORT_DESCRIPTOR_" constexpr

MIN_HEADER_SIZE

NoRelMask

NullImportDescriptorSymbolName

std::string_view llvm::object::NullImportDescriptorSymbolName constexpr

NullThunkDataPrefix

std::string_view llvm::object::NullThunkDataPrefix = "\x7f" constexpr

NullThunkDataSuffix

std::string_view llvm::object::NullThunkDataSuffix = "_NULL_THUNK_DATA" constexpr

NumElfSymbolTypes

int llvm::object::NumElfSymbolTypes = 16 constexpr

SECTION_ALIGNMENT

SFrameParser< endianness::big >

SFrameParser< endianness::little >

SymbolAuxTypeOffset

const size_t llvm::object::SymbolAuxTypeOffset = 17 static

ThinArchiveMagic

const char llvm::object::ThinArchiveMagic[] = "!\n"

WIN_RES_DATA_ALIGNMENT

WIN_RES_HEADER_ALIGNMENT

WIN_RES_MAGIC_SIZE

const size_t llvm::object::WIN_RES_MAGIC_SIZE = 16

WIN_RES_NULL_ENTRY_SIZE

const size_t llvm::object::WIN_RES_NULL_ENTRY_SIZE = 16

WIN_RES_PURE_MOVEABLE

XCOFFRelocation< llvm::support::ubig32_t >

XCOFFRelocation< llvm::support::ubig64_t >

XCOFFSectionHeader< XCOFFSectionHeader32 >

XCOFFSectionHeader< XCOFFSectionHeader64 >