Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Namespaces |Classes |Typedefs |Enumerations |Functions |Variables
llvm::object Namespace Reference

Namespaces

namespace  detail
 
namespace  DirectX
 

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  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  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 fromElf_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
 AnELF 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...
 
class  OffloadFile
 A class to contain the binary information for a singleOffloadBinary that owns its memory.More...
 
class  OwningBinary
 
class  Parser
 
struct  pe32_header
 The 32-bit PE header that follows theCOFF header.More...
 
struct  pe32plus_header
 The 64-bit PE header that follows theCOFF header.More...
 
struct  PGOAnalysisMap
 A feature extension ofBBAddrMap that holds information relevant to PGO.More...
 
class  Record
 Represents aGOFF 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  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

typedefSmallVector<uint8_t, 10 > BuildID
 A build ID in binary form.
 
typedefArrayRef<uint8_tBuildIDRef
 A reference to a BuildID in binary form.
 
using import_directory_iterator =content_iterator<ImportDirectoryEntryRef >
 
using delay_import_directory_iterator =content_iterator<DelayImportDirectoryEntryRef >
 
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 =import_lookup_table_entry<support::little32_t >
 
using import_lookup_table_entry64 =import_lookup_table_entry<support::little64_t >
 
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(constSectionRef &)> SectionFilterPredicate
 
using relocation_iterator =content_iterator<RelocationRef >
 
using SupportsRelocation =bool(*)(uint64_t)
 
using RelocationResolver =uint64_t(*)(uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
using basic_symbol_iterator =content_iterator<BasicSymbolRef >
 
typedefExceptionSectionEntry<support::ubig32_tExceptionSectionEntry32
 
typedefExceptionSectionEntry<support::ubig64_tExceptionSectionEntry64
 

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,OFK_Cuda,OFK_HIP,
  OFK_LAST
}
 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_LAST
}
 The type of contents the offloading image contains.More...
 
enum  Kind {
  Unknown,Eof,Identifier,Comma,
  Equal,EqualEqual,KwBase,KwConstant,
  KwData,KwExports,KwExportAs,KwHeapsize,
  KwLibrary,KwName,KwNoname,KwPrivate,
  KwStacksize,KwVersion
}
 

Functions

Expected< std::unique_ptr<Binary > > createBinary (MemoryBufferRef Source,LLVMContext *Context=nullptr,bool InitContent=true)
 Create aBinary from Source, autodetecting the file type.
 
Expected<OwningBinary<Binary > > createBinary (StringRef Path,LLVMContext *Context=nullptr,bool InitContent=true)
 
BuildID parseBuildID (StringRef Str)
 Parses a build ID from a hex string.
 
BuildIDRef getBuildID (constObjectFile *Obj)
 Returns the build ID, if any, contained in the given object file.
 
Error writeImportLibrary (StringRef ImportName,StringRef Path,ArrayRef<COFFShortExport > Exports,COFF::MachineTypesMachine,bool MinGW,ArrayRef<COFFShortExport > NativeExports={})
 Writes aCOFF import library containing entries described by the Exports array.
 
Expected<COFFModuleDefinitionparseCOFFModuleDefinition (MemoryBufferRef MB,COFF::MachineTypesMachine,bool MingwDef=false,bool AddUnderscores=true)
 
StringRef getELFRelocationTypeName (uint32_tMachine,uint32_tType)
 
uint32_t getELFRelativeRelocationType (uint32_tMachine)
 
StringRef getELFSectionTypeName (uint32_tMachine,uint32_tType)
 
std::pair<unsignedchar,unsignedchargetElfArchType (StringRef Object)
 
template<class ELFT >
static std::string getSecIndexForError (constELFFile< ELFT > &Obj,const typename ELFT::Shdr &Sec)
 
template<class ELFT >
static std::string describe (constELFFile< ELFT > &Obj,const typename ELFT::Shdr &Sec)
 
template<class ELFT >
static std::string getPhdrIndexForError (constELFFile< ELFT > &Obj,const typename ELFT::Phdr &Phdr)
 
staticError defaultWarningHandler (constTwine &Msg)
 
template<class ELFT >
staticbool checkSectionOffsets (const typename ELFT::Phdr &Phdr,const typename ELFT::Shdr &Sec)
 
template<class ELFT >
staticbool checkSectionVMA (const typename ELFT::Phdr &Phdr,const typename ELFT::Shdr &Sec)
 
template<class ELFT >
staticbool isSectionInSegment (const typename ELFT::Phdr &Phdr,const typename ELFT::Shdr &Sec)
 
template<bool Is64>
staticError decodeCrel (ArrayRef<uint8_t >Content,function_ref< void(uint64_t,bool)> HdrHandler,function_ref< void(Elf_Crel_Impl< Is64 >)> EntryHandler)
 
template<class ELFT >
Expected<const typename ELFT::Shdr * > getSection (typename ELFT::ShdrRange Sections,uint32_tIndex)
 
template<class ELFT >
Expected<uint32_tgetExtendedSymbolTableIndex (const typename ELFT::Sym &Sym,unsigned SymIndex,DataRegion< typename ELFT::Word > ShndxTable)
 
template<class ELFT >
staticExpected<uint64_tgetDynSymtabSizeFromGnuHash (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 (StringRefName)
 This function returns the hash value for a symbol in the .dynsym section for the GNU hash table.
 
bool operator< (constELFSymbolRef &A,constELFSymbolRef &B)
 
const std::error_category & object_category ()
 
std::error_code make_error_code (object_error e)
 
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 anllvm::Error.
 
Error createError (constTwine &Err)
 
Expected<IRSymtabFilereadIRSymtab (MemoryBufferRef MBRef)
 Reads a bitcode file, creating its irsymtab if necessary.
 
Error writeUniversalBinary (ArrayRef<Slice > Slices,StringRef OutputFileName,FatHeaderTypeFatHeader=FatHeaderType::FatHeader)
 
Error writeUniversalBinaryToStream (ArrayRef<Slice > Slices,raw_ostream &Out,FatHeaderTypeFatHeader=FatHeaderType::FatHeader)
 
bool operator< (constSectionedAddress &LHS,constSectionedAddress &RHS)
 
bool operator== (constSectionedAddress &LHS,constSectionedAddress &RHS)
 
raw_ostreamoperator<< (raw_ostream &OS,constSectionedAddress &Addr)
 
Error extractOffloadBinaries (MemoryBufferRef Buffer,SmallVectorImpl<OffloadFile > &Binaries)
 Extracts embedded device offloading code from a memoryBuffer to a list ofBinaries.
 
ImageKind getImageKind (StringRefName)
 Convert a stringName to an image kind.
 
StringRef getImageKindName (ImageKindName)
 Convert an image kind to its string representation.
 
OffloadKind getOffloadKind (StringRefName)
 Convert a stringName to an offload kind.
 
StringRef getOffloadKindName (OffloadKindName)
 Convert an offload kind to its string representation.
 
bool areTargetsCompatible (constOffloadFile::TargetID &LHS,constOffloadFile::TargetID &RHS)
 If the target is AMD we check the target IDs for mutual compatibility.
 
std::pair<SupportsRelocation,RelocationResolvergetRelocationResolver (constObjectFile &Obj)
 
uint64_t resolveRelocation (RelocationResolverResolver,constRelocationRef &R,uint64_t S,uint64_t LocData)
 
template<typename OStream >
OStream & operator<< (OStream &OS,constDataRefImpl &D)
 
bool operator== (constDataRefImpl &a,constDataRefImpl &b)
 
bool operator!= (constDataRefImpl &a,constDataRefImpl &b)
 
bool operator< (constDataRefImpl &a,constDataRefImpl &b)
 
int compareAddress (constSymEntry *A,constSymEntry *B)
 
std::vector< std::pair<SymbolRef,uint64_t > > computeSymbolSizes (constObjectFile &O)
 
Expected< std::unique_ptr<MemoryBuffer > > writeWindowsResourceCOFF (llvm::COFF::MachineTypes MachineType,constWindowsResourceParser &Parser,uint32_t TimeDateStamp)
 
void printResourceTypeName (uint16_tTypeID,raw_ostream &OS)
 
bool doesXCOFFTracebackTableBegin (ArrayRef<uint8_t > Bytes)
 
staticStringRef applyNameType (ImportNameTypeType,StringRefname)
 
staticuint16_t getImgRelRelocation (MachineTypesMachine)
 
template<classT >
static void append (std::vector<uint8_t > &B,constT &Data)
 
static void writeStringTable (std::vector<uint8_t > &B,ArrayRef<const std::string_view > Strings)
 
staticImportNameType getNameType (StringRefSym,StringRef ExtName,MachineTypesMachine,bool MinGW)
 
staticExpected< std::string > replace (StringRef S,StringRefFrom,StringRef To)
 
staticbool isDecorated (StringRefSym,bool MingwDef)
 
static int64_t getELFAddend (RelocationRef R)
 
staticbool supportsX86_64 (uint64_tType)
 
staticuint64_t resolveX86_64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
staticbool supportsAArch64 (uint64_tType)
 
staticuint64_t resolveAArch64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsBPF (uint64_tType)
 
staticuint64_t resolveBPF (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsMips64 (uint64_tType)
 
staticuint64_t resolveMips64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsMSP430 (uint64_tType)
 
staticuint64_t resolveMSP430 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsPPC64 (uint64_tType)
 
staticuint64_t resolvePPC64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsSystemZ (uint64_tType)
 
staticuint64_t resolveSystemZ (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsSparc64 (uint64_tType)
 
staticuint64_t resolveSparc64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool isAMDGPU (constObjectFile &Obj)
 Returns true ifObj is anAMDGPU code object based solely on the value of e_machine.
 
staticbool supportsAmdgpu (uint64_tType)
 
staticuint64_t resolveAmdgpu (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsX86 (uint64_tType)
 
staticuint64_t resolveX86 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsPPC32 (uint64_tType)
 
staticuint64_t resolvePPC32 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsARM (uint64_tType)
 
staticuint64_t resolveARM (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
staticbool supportsAVR (uint64_tType)
 
staticuint64_t resolveAVR (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsLanai (uint64_tType)
 
staticuint64_t resolveLanai (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsMips32 (uint64_tType)
 
staticuint64_t resolveMips32 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsSparc32 (uint64_tType)
 
staticuint64_t resolveSparc32 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
staticbool supportsHexagon (uint64_tType)
 
staticuint64_t resolveHexagon (uint64_tType,uint64_tOffset,uint64_t S,uint64_t, int64_t Addend)
 
staticbool supportsRISCV (uint64_tType)
 
staticuint64_t resolveRISCV (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
staticbool supportsCSKY (uint64_tType)
 
staticuint64_t resolveCSKY (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
staticbool supportsLoongArch (uint64_tType)
 
staticuint64_t resolveLoongArch (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
staticbool supportsCOFFX86 (uint64_tType)
 
staticuint64_t resolveCOFFX86 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsCOFFX86_64 (uint64_tType)
 
staticuint64_t resolveCOFFX86_64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsCOFFARM (uint64_tType)
 
staticuint64_t resolveCOFFARM (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsCOFFARM64 (uint64_tType)
 
staticuint64_t resolveCOFFARM64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsMachOX86_64 (uint64_tType)
 
staticuint64_t resolveMachOX86_64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticbool supportsWasm32 (uint64_tType)
 
staticbool supportsWasm64 (uint64_tType)
 
staticuint64_t resolveWasm32 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t)
 
staticuint64_t resolveWasm64 (uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)
 
staticError readStringOrId (BinaryStreamReader &Reader,uint16_t &ID,ArrayRef<UTF16 > &Str,bool &IsString)
 
staticbool convertUTF16LEToUTF8String (ArrayRef<UTF16 > Src, std::string &Out)
 
static std::string makeDuplicateResourceError (constResourceEntryRef &Entry,StringRef File1,StringRef File2)
 
static void printStringOrID (constWindowsResourceParser::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<typenameT >
staticExpected<constT * > getObject (MemoryBufferRef M,const void *Ptr,constuint64_tSize=sizeof(T))
 
static uintptr_t getWithOffset (uintptr_tBase,ptrdiff_tOffset)
 
template<typenameT >
staticconstTviewAs (uintptr_t in)
 
staticStringRef generateXCOFFFixedNameStringRef (constchar *Name)
 
template<typenameT >
Expected<StringRefgetLoaderSecSymNameInStrTbl (constT *LoaderSecHeader,uint64_tOffset)
 
template LLVM_EXPORT_TEMPLATEllvm::Expected<llvm::ArrayRef<llvm::object::XCOFFRelocation64 > > llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader64, llvm::object::XCOFFRelocation64 > (llvm::object::XCOFFSectionHeader64const &)const
 
template LLVM_EXPORT_TEMPLATEllvm::Expected<llvm::ArrayRef<llvm::object::XCOFFRelocation32 > > llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader32, llvm::object::XCOFFRelocation32 > (llvm::object::XCOFFSectionHeader32const &)const
 

Variables

constchar ArchiveMagic [] = "!<arch>\n"
 
constchar ThinArchiveMagic [] = "!<thin>\n"
 
constchar BigArchiveMagic [] = "<bigaf>\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
 
constllvm::EnumEntry<unsignedElfSymbolTypes [NumElfSymbolTypes]
 
const size_t WIN_RES_MAGIC_SIZE = 16
 
const size_t WIN_RES_NULL_ENTRY_SIZE = 16
 
constuint32_t WIN_RES_HEADER_ALIGNMENT = 4
 
constuint32_t WIN_RES_DATA_ALIGNMENT = 4
 
constuint16_t WIN_RES_PURE_MOVEABLE = 0x0030
 
constuint32_t MIN_HEADER_SIZE = 7 * sizeof(uint32_t) + 2 * sizeof(uint16_t)
 
constuint32_t SECTION_ALIGNMENT = sizeof(uint64_t)
 
staticconstuint8_t FunctionSym = 0x20
 
staticconstuint16_t NoRelMask = 0x0001
 
staticconst size_t SymbolAuxTypeOffset = 17
 

Typedef Documentation

◆ arm64x_reloc_iterator

usingllvm::object::arm64x_reloc_iterator = typedefcontent_iterator<Arm64XRelocRef>

Definition at line54 of fileCOFF.h.

◆ base_reloc_iterator

usingllvm::object::base_reloc_iterator = typedefcontent_iterator<BaseRelocRef>

Definition at line52 of fileCOFF.h.

◆ basic_symbol_iterator

usingllvm::object::basic_symbol_iterator = typedefcontent_iterator<BasicSymbolRef>

Definition at line143 of fileSymbolicFile.h.

◆ bind_iterator

usingllvm::object::bind_iterator = typedefcontent_iterator<MachOBindEntry>

Definition at line261 of fileMachO.h.

◆ BuildID

typedefSmallVector<uint8_t, 10>llvm::object::BuildID

A build ID in binary form.

Definition at line25 of fileBuildID.h.

◆ BuildIDRef

typedefArrayRef<uint8_t>llvm::object::BuildIDRef

A reference to a BuildID in binary form.

Definition at line28 of fileBuildID.h.

◆ coff_symbol16

usingllvm::object::coff_symbol16 = typedefcoff_symbol<support::ulittle16_t>

Definition at line269 of fileCOFF.h.

◆ coff_symbol32

usingllvm::object::coff_symbol32 = typedefcoff_symbol<support::ulittle32_t>

Definition at line270 of fileCOFF.h.

◆ coff_tls_directory32

usingllvm::object::coff_tls_directory32 = typedefcoff_tls_directory<support::little32_t>

Definition at line605 of fileCOFF.h.

◆ coff_tls_directory64

usingllvm::object::coff_tls_directory64 = typedefcoff_tls_directory<support::little64_t>

Definition at line606 of fileCOFF.h.

◆ delay_import_directory_iterator

usingllvm::object::delay_import_directory_iterator = typedefcontent_iterator<DelayImportDirectoryEntryRef>

Definition at line48 of fileCOFF.h.

◆ dice_iterator

usingllvm::object::dice_iterator = typedefcontent_iterator<DiceRef>

Definition at line64 of fileMachO.h.

◆ dynamic_reloc_iterator

usingllvm::object::dynamic_reloc_iterator = typedefcontent_iterator<DynamicRelocRef>

Definition at line53 of fileCOFF.h.

◆ ELF32BE

usingllvm::object::ELF32BE = typedefELFType<llvm::endianness::big, false>

Definition at line98 of fileELFTypes.h.

◆ ELF32BEFile

usingllvm::object::ELF32BEFile = typedefELFFile<ELF32BE>

Definition at line529 of fileELF.h.

◆ ELF32BEObjectFile

usingllvm::object::ELF32BEObjectFile = typedefELFObjectFile<ELF32BE>

Definition at line516 of fileELFObjectFile.h.

◆ ELF32LE

usingllvm::object::ELF32LE = typedefELFType<llvm::endianness::little, false>

Definition at line97 of fileELFTypes.h.

◆ ELF32LEFile

usingllvm::object::ELF32LEFile = typedefELFFile<ELF32LE>

Definition at line527 of fileELF.h.

◆ ELF32LEObjectFile

usingllvm::object::ELF32LEObjectFile = typedefELFObjectFile<ELF32LE>

Definition at line514 of fileELFObjectFile.h.

◆ ELF64BE

usingllvm::object::ELF64BE = typedefELFType<llvm::endianness::big,true>

Definition at line100 of fileELFTypes.h.

◆ ELF64BEFile

usingllvm::object::ELF64BEFile = typedefELFFile<ELF64BE>

Definition at line530 of fileELF.h.

◆ ELF64BEObjectFile

usingllvm::object::ELF64BEObjectFile = typedefELFObjectFile<ELF64BE>

Definition at line517 of fileELFObjectFile.h.

◆ ELF64LE

usingllvm::object::ELF64LE = typedefELFType<llvm::endianness::little,true>

Definition at line99 of fileELFTypes.h.

◆ ELF64LEFile

usingllvm::object::ELF64LEFile = typedefELFFile<ELF64LE>

Definition at line528 of fileELF.h.

◆ ELF64LEObjectFile

usingllvm::object::ELF64LEObjectFile = typedefELFObjectFile<ELF64LE>

Definition at line515 of fileELFObjectFile.h.

◆ ExceptionSectionEntry32

typedefExceptionSectionEntry<support::ubig32_t>llvm::object::ExceptionSectionEntry32

Definition at line317 of fileXCOFFObjectFile.h.

◆ ExceptionSectionEntry64

typedefExceptionSectionEntry<support::ubig64_t>llvm::object::ExceptionSectionEntry64

Definition at line318 of fileXCOFFObjectFile.h.

◆ export_directory_iterator

usingllvm::object::export_directory_iterator = typedefcontent_iterator<ExportDirectoryEntryRef>

Definition at line50 of fileCOFF.h.

◆ export_iterator

usingllvm::object::export_iterator = typedefcontent_iterator<ExportEntry>

Definition at line126 of fileMachO.h.

◆ export_name_pointer_table_entry

usingllvm::object::export_name_pointer_table_entry = typedefsupport::ulittle32_t

Definition at line245 of fileCOFF.h.

◆ export_ordinal_table_entry

usingllvm::object::export_ordinal_table_entry = typedefsupport::ulittle16_t

Definition at line246 of fileCOFF.h.

◆ fixup_iterator

usingllvm::object::fixup_iterator = typedefcontent_iterator<MachOChainedFixupEntry>

Definition at line404 of fileMachO.h.

◆ import_directory_iterator

usingllvm::object::import_directory_iterator = typedefcontent_iterator<ImportDirectoryEntryRef>

Definition at line47 of fileCOFF.h.

◆ import_lookup_table_entry32

usingllvm::object::import_lookup_table_entry32 = typedefimport_lookup_table_entry<support::little32_t>

Definition at line209 of fileCOFF.h.

◆ import_lookup_table_entry64

usingllvm::object::import_lookup_table_entry64 = typedefimport_lookup_table_entry<support::little64_t>

Definition at line211 of fileCOFF.h.

◆ imported_symbol_iterator

usingllvm::object::imported_symbol_iterator = typedefcontent_iterator<ImportedSymbolRef>

Definition at line51 of fileCOFF.h.

◆ rebase_iterator

usingllvm::object::rebase_iterator = typedefcontent_iterator<MachORebaseEntry>

Definition at line203 of fileMachO.h.

◆ relocation_iterator

usingllvm::object::relocation_iterator = typedefcontent_iterator<RelocationRef>

Definition at line77 of fileObjectFile.h.

◆ RelocationResolver

usingllvm::object::RelocationResolver = typedefuint64_t (*)(uint64_tType,uint64_tOffset,uint64_t S,uint64_t LocData, int64_t Addend)

Definition at line28 of fileRelocationResolver.h.

◆ section_iterator

usingllvm::object::section_iterator = typedefcontent_iterator<SectionRef>

Definition at line47 of fileObjectFile.h.

◆ SectionFilterPredicate

typedef std::function<bool(constSectionRef &)>llvm::object::SectionFilterPredicate

Definition at line49 of fileObjectFile.h.

◆ SupportsRelocation

usingllvm::object::SupportsRelocation = typedefbool (*)(uint64_t)

Definition at line27 of fileRelocationResolver.h.

Enumeration Type Documentation

◆ chpe_range_type

enumllvm::object::chpe_range_type
Enumerator
Arm64 
Arm64EC 
Amd64 

Definition at line761 of fileCOFF.h.

◆ FatHeaderType

enum classllvm::object::FatHeaderType
strong
Enumerator
FatHeader 
Fat64Header 

Definition at line100 of fileMachOUniversalWriter.h.

◆ frame_type

enum classllvm::object::frame_type :uint16_t
strong
Enumerator
Fpo 
Trap 
Tss 
NonFpo 

Definition at line608 of fileCOFF.h.

◆ ImageKind

enumllvm::object::ImageKind :uint16_t

The type of contents the offloading image contains.

Enumerator
IMG_None 
IMG_Object 
IMG_Bitcode 
IMG_Cubin 
IMG_Fatbinary 
IMG_PTX 
IMG_LAST 

Definition at line42 of fileOffloadBinary.h.

◆ Kind

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

Definition at line31 of fileCOFFModuleDefinition.cpp.

◆ object_error

enum classllvm::object::object_error
strong
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 line27 of fileError.h.

◆ OffloadKind

enumllvm::object::OffloadKind :uint16_t

The producer of the associated offloading image.

Enumerator
OFK_None 
OFK_OpenMP 
OFK_Cuda 
OFK_HIP 
OFK_LAST 

Definition at line33 of fileOffloadBinary.h.

◆ PPCInstrMasks

enumllvm::object::PPCInstrMasks :uint64_t
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 line88 of fileELF.h.

Function Documentation

◆ append()

template<classT >
static void llvm::object::append(std::vector<uint8_t > & B,
constTData 
)
static

Definition at line141 of fileCOFFImportFile.cpp.

ReferencesB, andllvm::Data.

◆ applyNameType()

staticStringRef llvm::object::applyNameType(ImportNameType Type,
StringRef name 
)
static

Definition at line57 of fileCOFFImportFile.cpp.

Referencesllvm::StringRef::empty(),llvm::COFF::IMPORT_NAME_NOPREFIX,llvm::COFF::IMPORT_NAME_UNDECORATE,name, andllvm::StringRef::substr().

Referenced byllvm::object::COFFImportFile::getExportName(), andwriteImportLibrary().

◆ areTargetsCompatible()

bool llvm::object::areTargetsCompatible(constOffloadFile::TargetIDLHS,
constOffloadFile::TargetIDRHS 
)

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 ::= '<arch> ( : <feature> ( '+' | '-' ) )*'

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 line347 of fileOffloadBinary.cpp.

ReferencesLHS, andRHS.

◆ checkSectionOffsets()

template<class ELFT >
staticbool llvm::object::checkSectionOffsets(const typename ELFT::Phdr & Phdr,
const typename ELFT::Shdr & Sec 
)
static

Definition at line170 of fileELF.h.

Referencesllvm::ELF::SHT_NOBITS.

◆ checkSectionVMA()

template<class ELFT >
staticbool llvm::object::checkSectionVMA(const typename ELFT::Phdr & Phdr,
const typename ELFT::Shdr & Sec 
)
static

Definition at line188 of fileELF.h.

Referencesllvm::ELF::PT_TLS,llvm::ELF::SHF_ALLOC,llvm::ELF::SHF_TLS, andllvm::ELF::SHT_NOBITS.

◆ coffnamecpy()

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

Definition at line721 of fileWindowsResource.cpp.

Referencesassert(), andllvm::COFF::NameSize.

◆ compareAddress()

int llvm::object::compareAddress(constSymEntryA,
constSymEntryB 
)

Definition at line21 of fileSymbolSize.cpp.

ReferencesA, andB.

Referenced bycomputeSymbolSizes().

◆ computeSymbolSizes()

std::vector< std::pair<SymbolRef,uint64_t > > llvm::object::computeSymbolSizes(constObjectFileO)

Definition at line50 of fileSymbolSize.cpp.

ReferencesAddress,llvm::array_pod_sort(),compareAddress(),getSectionID(),getSymbolSectionID(),I,N,P,llvm::report_fatal_error(),Size,Sym, andllvm::Expected< T >::takeError().

Referenced byllvm::symbolize::SymbolizableObjectFile::create().

◆ convertUTF16LEToUTF8String()

staticbool llvm::object::convertUTF16LEToUTF8String(ArrayRef<UTF16Src,
std::string & Out 
)
static

Definition at line169 of fileWindowsResource.cpp.

Referencesllvm::convertUTF16ToUTF8String(),llvm::copy(),llvm::sys::IsBigEndianHost, andUNI_UTF16_BYTE_ORDER_MARK_SWAPPED.

Referenced bymakeDuplicateResourceError(), andprintStringOrID().

◆ createBinary()[1/2]

Expected< std::unique_ptr<Binary > > llvm::object::createBinary(MemoryBufferRef Source,
LLVMContextContext =nullptr,
bool InitContent =true 
)

Create aBinary from Source, autodetecting the file type.

Parameters
SourceThe data to create theBinary from.

Definition at line45 of fileBinary.cpp.

Referencesllvm::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::TapiUniversal::create(),llvm::object::OffloadBinary::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, andllvm::file_magic::xcoff_object_64.

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

◆ createBinary()[2/2]

Expected<OwningBinary<Binary > > llvm::object::createBinary(StringRef Path,
LLVMContextContext =nullptr,
bool InitContent =true 
)

Definition at line107 of fileBinary.cpp.

Referencesllvm::Bin,createBinary(),llvm::errorCodeToError(),llvm::Expected< T >::get(),llvm::ErrorOr< T >::get(),llvm::ErrorOr< T >::getError(),llvm::MemoryBuffer::getFileOrSTDIN(), andllvm::Expected< T >::takeError().

◆ createError()

Error llvm::object::createError(constTwineErr)
inline

Definition at line84 of fileError.h.

Referencesparse_failed.

Referenced byllvm::object::ELFFile< ELFT >::android_relas(),llvm::object::ELFFile< ELFT >::create(),llvm::object::ObjectFile::createELFObjectFile(),decodeBBAddrMapImpl(),defaultWarningHandler(),llvm::object::ELFFile< ELFT >::dynamicEntries(),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(),llvm::object::XCOFFSymbolRef::isFunction(),llvm::object::MachOChainedFixupEntry::moveNext(),llvm::object::ELFFile< ELFT >::notes_begin(),llvm::object::DataRegion< T >::operator[](),llvm::object::ELFFile< ELFT >::program_headers(),readBBAddrMapImpl(),readDynsymVersionsImpl(),readULEB128As(),llvm::object::XCOFFObjectFile::relocations(),llvm::object::ELFFile< ELFT >::sections(),llvm::object::ELFFile< ELFT >::toMappedAddr(), andllvm::StackMapParser< Endianness >::validateHeader().

◆ decodeCrel()

template<bool Is64>
staticError llvm::object::decodeCrel(ArrayRef<uint8_tContent,
function_ref< void(uint64_t,bool)> HdrHandler,
function_ref< void(Elf_Crel_Impl< Is64 >)> EntryHandler 
)
static

Definition at line216 of fileELF.h.

ReferencesB,Content,llvm::ELF::CREL_HDR_ADDEND,llvm::Data,llvm::Offset, andllvm::DataExtractor::Cursor::takeError().

Referenced byllvm::object::ELFFile< ELFT >::crels().

◆ defaultWarningHandler()

staticError llvm::object::defaultWarningHandler(constTwineMsg)
inlinestatic

Definition at line165 of fileELF.h.

ReferencescreateError().

◆ describe()

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

Definition at line145 of fileELF.h.

Referencesllvm::cantFail(),getELFSectionTypeName(),llvm::object::ELFFile< ELFT >::getHeader(), andllvm::object::ELFFile< ELFT >::sections().

Referenced bydecodeBBAddrMapImpl(),llvm::object::ELFFile< ELFT >::getLinkAsStrtab(),llvm::object::ELFFile< ELFT >::getSectionAndRelocations(),llvm::object::ELFFile< ELFT >::getVersionDefinitions(),llvm::object::ELFFile< ELFT >::getVersionDependencies(),readBBAddrMapImpl(), andreadDynsymVersionsImpl().

◆ doesXCOFFTracebackTableBegin()

bool llvm::object::doesXCOFFTracebackTableBegin(ArrayRef<uint8_tBytes)

Definition at line1391 of fileXCOFFObjectFile.cpp.

Referencesllvm::ArrayRef< T >::data(),llvm::support::endian::read32be(), andllvm::ArrayRef< T >::size().

◆ extractOffloadBinaries()

Error llvm::object::extractOffloadBinaries(MemoryBufferRef Buffer,
SmallVectorImpl<OffloadFile > & Binaries 
)

Extracts embedded device offloading code from a memoryBuffer to a list ofBinaries.

Definition at line269 of fileOffloadBinary.cpp.

Referencesllvm::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(), andllvm::Expected< T >::takeError().

◆ generateXCOFFFixedNameStringRef()

staticStringRef llvm::object::generateXCOFFFixedNameStringRef(constcharName)
static

Definition at line51 of fileXCOFFObjectFile.cpp.

ReferencesName, andllvm::XCOFF::NameSize.

Referenced byllvm::object::XCOFFObjectFile::getCFileName(),llvm::object::XCOFFSectionHeader< T >::getName(),llvm::object::XCOFFSymbolRef::getName(),llvm::object::XCOFFObjectFile::getSectionName(),llvm::object::LoaderSectionSymbolEntry32::getSymbolName(), andllvm::object::XCOFFObjectFile::getSymbolSectionName().

◆ getBuildID()

BuildIDRef llvm::object::getBuildID(constObjectFileObj)

Returns the build ID, if any, contained in the given object file.

Definition at line56 of fileBuildID.cpp.

Referencesllvm::dyn_cast().

Referenced byloadBinaryFormat().

◆ getDynSymtabSizeFromGnuHash()

template<class ELFT >
staticExpected<uint64_t > llvm::object::getDynSymtabSizeFromGnuHash(const typename ELFT::GnuHash & Table,
const void * BufEnd 
)
static

This function finds the number of dynamic symbols using a GNU hash table.

Parameters
TableThe GNU hash table for .dynsym.

Definition at line797 of fileELF.h.

Referencesllvm::createStringError(), andparse_failed.

◆ getELFAddend()

static int64_t llvm::object::getELFAddend(RelocationRef R)
static

Definition at line31 of fileRelocationResolver.cpp.

Referencesllvm::object::ELFRelocationRef::getAddend(),llvm::handleAllErrors(), andllvm::Expected< T >::takeError().

Referenced byresolveRelocation().

◆ getElfArchType()

std::pair<unsignedchar,unsignedchar > llvm::object::getElfArchType(StringRef Object)
inline

Definition at line80 of fileELF.h.

Referencesllvm::ELF::EI_CLASS,llvm::ELF::EI_DATA,llvm::ELF::EI_NIDENT,llvm::ELF::ELFCLASSNONE, andllvm::ELF::ELFDATANONE.

Referenced byllvm::orc::ELFDebugObject::Create(), andllvm::object::ObjectFile::createELFObjectFile().

◆ getELFRelativeRelocationType()

uint32_t llvm::object::getELFRelativeRelocationType(uint32_t Machine)

Definition at line193 of fileELF.cpp.

Referencesllvm::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, andMachine.

Referenced byllvm::object::ELFFile< ELFT >::getRelativeRelocationType().

◆ getELFRelocationTypeName()

StringRef llvm::object::getELFRelocationTypeName(uint32_t Machine,
uint32_t Type 
)

Definition at line24 of fileELF.cpp.

Referencesllvm::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, andMachine.

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

◆ getELFSectionTypeName()

StringRef llvm::object::getELFSectionTypeName(uint32_t Machine,
uint32_t Type 
)

Referenced bydescribe(),llvm::object::ELFFile< ELFT >::getSHNDXTable(), andllvm::object::ELFFile< ELFT >::getStringTable().

◆ getExtendedSymbolTableIndex()

template<class ELFT >
Expected<uint32_t > llvm::object::getExtendedSymbolTableIndex(const typename ELFT::Sym & Sym,
unsigned SymIndex,
DataRegion< typename ELFT::Word > ShndxTable 
)
inline

Definition at line542 of fileELF.h.

Referencesassert(),createError(),llvm::object::DataRegion< T >::First,llvm::ELF::SHN_XINDEX,Sym,llvm::Expected< T >::takeError(), andllvm::toString().

◆ getImageKind()

ImageKind llvm::object::getImageKind(StringRef Name)

Convert a stringName to an image kind.

Definition at line320 of fileOffloadBinary.cpp.

Referencesllvm::StringSwitch< T, R >::Case(),llvm::StringSwitch< T, R >::Default(),IMG_Bitcode,IMG_Cubin,IMG_Fatbinary,IMG_None,IMG_Object,IMG_PTX, andName.

◆ getImageKindName()

StringRef llvm::object::getImageKindName(ImageKind Name)

Convert an image kind to its string representation.

Definition at line330 of fileOffloadBinary.cpp.

ReferencesIMG_Bitcode,IMG_Cubin,IMG_Fatbinary,IMG_Object, andIMG_PTX.

◆ getImgRelRelocation()

staticuint16_t llvm::object::getImgRelRelocation(MachineTypes Machine)
static

Definition at line122 of fileCOFFImportFile.cpp.

Referencesllvm::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, andMachine.

◆ getLoaderSecSymNameInStrTbl()

template<typenameT >
Expected<StringRef > llvm::object::getLoaderSecSymNameInStrTbl(constTLoaderSecHeader,
uint64_t Offset 
)

Definition at line100 of fileXCOFFObjectFile.cpp.

ReferencescreateError(),llvm::Offset, andllvm::Twine::utohexstr().

Referenced byllvm::object::LoaderSectionSymbolEntry32::getSymbolName(), andllvm::object::LoaderSectionSymbolEntry64::getSymbolName().

◆ getNameType()

staticImportNameType llvm::object::getNameType(StringRef Sym,
StringRef ExtName,
MachineTypes Machine,
bool MinGW 
)
static

Definition at line174 of fileCOFFImportFile.cpp.

Referencesllvm::StringRef::contains(),llvm::COFF::IMAGE_FILE_MACHINE_I386,llvm::COFF::IMPORT_NAME,llvm::COFF::IMPORT_NAME_NOPREFIX,llvm::COFF::IMPORT_NAME_UNDECORATE,Machine,llvm::StringRef::starts_with(), andSym.

Referenced bywriteImportLibrary().

◆ getObject()

template<typenameT >
staticExpected<constT * > llvm::object::getObject(MemoryBufferRef M,
const void * Ptr,
constuint64_t Size =sizeof(T) 
)
static

Definition at line34 of fileXCOFFObjectFile.cpp.

ReferencesAddr,llvm::object::Binary::checkOffset(),E,Ptr, andSize.

Referenced byllvm::object::ImportDirectoryEntryRef::getImportTableEntry(), andgetNumberOfRelocations().

◆ getOffloadKind()

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

Convert a stringName to an offload kind.

Definition at line299 of fileOffloadBinary.cpp.

Referencesllvm::StringSwitch< T, R >::Case(),llvm::StringSwitch< T, R >::Default(),Name,OFK_Cuda,OFK_HIP,OFK_None, andOFK_OpenMP.

◆ getOffloadKindName()

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

Convert an offload kind to its string representation.

Definition at line307 of fileOffloadBinary.cpp.

ReferencesOFK_Cuda,OFK_HIP, andOFK_OpenMP.

◆ getPhdrIndexForError()

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

Definition at line155 of fileELF.h.

Referencesllvm::consumeError(), andllvm::object::ELFFile< ELFT >::program_headers().

Referenced byllvm::object::ELFFile< ELFT >::getSegmentContents().

◆ getRelocationResolver()

std::pair<SupportsRelocation,RelocationResolver > llvm::object::getRelocationResolver(constObjectFileObj)

Definition at line772 of fileRelocationResolver.cpp.

Referencesllvm::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::object::ObjectFile::getArch(),llvm::object::ObjectFile::getBytesInAddress(),llvm::Triple::hexagon,isAMDGPU(),llvm::object::Binary::isCOFF(),llvm::object::Binary::isELF(),llvm::object::Binary::isMachO(),llvm::object::Binary::isWasm(),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::riscv64,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, andllvm::Triple::x86_64.

Referenced byloadObj().

◆ getSecIndexForError()

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

Definition at line131 of fileELF.h.

Referencesllvm::consumeError(), andllvm::object::ELFFile< ELFT >::sections().

Referenced byllvm::object::ELFFile< ELFT >::getSectionContentsAsArray(),llvm::object::ELFFile< ELFT >::getSectionName(),llvm::object::ELFFile< ELFT >::getStringTable(), andllvm::object::ELFFile< ELFT >::getSymbol().

◆ getSection()

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

Definition at line534 of fileELF.h.

ReferencescreateError(), andIndex.

Referenced byllvm::object::ELFFile< ELFT >::getEntry(),llvm::object::ELFFile< ELFT >::getLinkAsStrtab(),llvm::object::ELFObjectFile< ELFT >::getRelocatedSection(),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::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(), andllvm::orc::ELFDebugObject::reportSectionTargetMemoryRange().

◆ getWithOffset()

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

Definition at line42 of fileXCOFFObjectFile.cpp.

Referencesllvm::sampleprof::Base, andllvm::Offset.

Referenced byllvm::object::XCOFFObjectFile::getAdvancedSymbolEntryAddress(),llvm::object::XCOFFObjectFile::getSectionByNum(),llvm::object::XCOFFObjectFile::getSymbolAuxType(),llvm::object::XCOFFObjectFile::relocations(), andllvm::object::XCOFFObjectFile::section_end().

◆ hashGnu()

uint32_t llvm::object::hashGnu(StringRef Name)
inline

This function returns the hash value for a symbol in the .dynsym section for the GNU hash table.

The implementation is defined in the GNU hash ABI. REF :https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/elf.c#l222

Definition at line1364 of fileELF.h.

Referencesllvm::CallingConv::C,H, andName.

◆ hashSysV()

uint32_t llvm::object::hashSysV(StringRef SymbolName)
inline

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.

Definition at line1352 of fileELF.h.

Referencesllvm::CallingConv::C, andH.

◆ isAMDGPU()

staticbool llvm::object::isAMDGPU(constObjectFileObj)
static

Returns true ifObj is anAMDGPU code object based solely on the value of e_machine.

AMDGPU code objects with an e_machine of EF_AMDGPU_MACH_NONE do not identify their arch as either r600 or amdgcn, but we can still handle their relocations. When we identify anELF object with an UnknownArch, we use isAMDGPU to check for this case.

Definition at line260 of fileRelocationResolver.cpp.

Referencesllvm::ELF::EM_AMDGPU.

Referenced bygetRelocationResolver().

◆ isDecorated()

staticbool llvm::object::isDecorated(StringRef Sym,
bool MingwDef 
)
static

Definition at line58 of fileCOFFModuleDefinition.cpp.

ReferencesSym.

◆ isNotObjectErrorInvalidFileType()

llvm::Error llvm::object::isNotObjectErrorInvalidFileType(llvm::Error Err)

isNotObjectErrorInvalidFileType() is used when looping through the children of an archive after calling getAsBinary() on the child and it returns anllvm::Error.

In the cases we want to loop through the children and ignore the non-objects in the archive this is used to test the error to see if anerror() function needs to called on thellvm::Error.

Definition at line82 of fileError.cpp.

Referencesllvm::handleErrors(),invalid_file_type, andllvm::Error::success().

◆ isSectionInSegment()

template<class ELFT >
staticbool llvm::object::isSectionInSegment(const typename ELFT::Phdr & Phdr,
const typename ELFT::Shdr & Sec 
)
static

Definition at line207 of fileELF.h.

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

template LLVM_EXPORT_TEMPLATEllvm::Expected<llvm::ArrayRef<llvm::object::XCOFFRelocation32 > > llvm::object::llvm::object::XCOFFObjectFile::relocations<llvm::object::XCOFFSectionHeader32,llvm::object::XCOFFRelocation32 >(llvm::object::XCOFFSectionHeader32const) const

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

template LLVM_EXPORT_TEMPLATEllvm::Expected<llvm::ArrayRef<llvm::object::XCOFFRelocation64 > > llvm::object::llvm::object::XCOFFObjectFile::relocations<llvm::object::XCOFFSectionHeader64,llvm::object::XCOFFRelocation64 >(llvm::object::XCOFFSectionHeader64const) const

◆ make_error_code()

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

Definition at line40 of fileError.h.

Referencesobject_category().

Referenced byllvm::object::BinaryError::BinaryError(), andllvm::object::GenericBinaryError::GenericBinaryError().

◆ makeDuplicateResourceError()[1/2]

static std::string llvm::object::makeDuplicateResourceError(constResourceEntryRefEntry,
StringRef File1,
StringRef File2 
)
static

Definition at line180 of fileWindowsResource.cpp.

ReferencesconvertUTF16LEToUTF8String(),OS, andprintResourceTypeName().

Referenced byllvm::object::WindowsResourceParser::parse().

◆ makeDuplicateResourceError()[2/2]

static std::string llvm::object::makeDuplicateResourceError(const std::vector<WindowsResourceParser::StringOrID > & Context,
StringRef File1,
StringRef File2 
)
static

Definition at line227 of fileWindowsResource.cpp.

ReferencesOS, andprintStringOrID().

◆ object_category()

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

Definition at line77 of fileError.cpp.

Referenced bymake_error_code().

◆ operator!=()

bool llvm::object::operator!=(constDataRefImpla,
constDataRefImplb 
)
inline

Definition at line59 of fileSymbolicFile.h.

Referencesllvm::operator==().

◆ operator<()[1/3]

bool llvm::object::operator<(constDataRefImpla,
constDataRefImplb 
)
inline

Definition at line63 of fileSymbolicFile.h.

◆ operator<()[2/3]

bool llvm::object::operator<(constELFSymbolRefA,
constELFSymbolRefB 
)
inline

Definition at line205 of fileELFObjectFile.h.

Referencesllvm::object::DataRefImpl::a,A,llvm::object::DataRefImpl::b,B, andllvm::object::DataRefImpl::d.

◆ operator<()[3/3]

bool llvm::object::operator<(constSectionedAddressLHS,
constSectionedAddressRHS 
)
inline

Definition at line152 of fileObjectFile.h.

ReferencesLHS, andRHS.

◆ operator<<()[1/2]

template<typename OStream >
OStream & llvm::object::operator<<(OStream & OS,
constDataRefImplD 
)

Definition at line47 of fileSymbolicFile.h.

ReferencesD,llvm::format(), andOS.

◆ operator<<()[2/2]

raw_ostream & llvm::object::operator<<(raw_ostreamOS,
constSectionedAddressAddr 
)

Definition at line34 of fileObjectFile.cpp.

ReferencesAddr,llvm::format_hex(),OS, andllvm::object::SectionedAddress::UndefSection.

◆ operator==()[1/2]

bool llvm::object::operator==(constDataRefImpla,
constDataRefImplb 
)
inline

Definition at line53 of fileSymbolicFile.h.

Referencesllvm::operator==().

◆ operator==()[2/2]

bool llvm::object::operator==(constSectionedAddressLHS,
constSectionedAddressRHS 
)
inline

Definition at line158 of fileObjectFile.h.

ReferencesLHS,llvm::operator==(), andRHS.

◆ parseBuildID()

BuildID llvm::object::parseBuildID(StringRef Str)

Parses a build ID from a hex string.

Definition at line47 of fileBuildID.cpp.

◆ parseCOFFModuleDefinition()

Expected<COFFModuleDefinition > llvm::object::parseCOFFModuleDefinition(MemoryBufferRef MB,
COFF::MachineTypes Machine,
bool MingwDef =false,
bool AddUnderscores =true 
)

Definition at line365 of fileCOFFModuleDefinition.cpp.

Referencesllvm::MemoryBufferRef::getBuffer(),Machine, andllvm::object::Parser::parse().

Referenced byllvm::libDriverMain().

◆ printResourceTypeName()

void llvm::object::printResourceTypeName(uint16_t TypeID,
raw_ostreamOS 
)

Definition at line142 of fileWindowsResource.cpp.

ReferencesOS.

Referenced bymakeDuplicateResourceError(), andprintStringOrID().

◆ printStringOrID()

static void llvm::object::printStringOrID(constWindowsResourceParser::StringOrIDS,
raw_string_ostreamOS,
bool IsType,
bool IsID 
)
static

Definition at line212 of fileWindowsResource.cpp.

ReferencesconvertUTF16LEToUTF8String(),llvm::object::WindowsResourceParser::StringOrID::ID,llvm::object::WindowsResourceParser::StringOrID::IsString,OS,printResourceTypeName(), andllvm::object::WindowsResourceParser::StringOrID::String.

Referenced bymakeDuplicateResourceError().

◆ readIRSymtab()

Expected<IRSymtabFile > llvm::object::readIRSymtab(MemoryBufferRef MBRef)

Reads a bitcode file, creating its irsymtab if necessary.

Definition at line135 of fileIRObjectFile.cpp.

ReferencesF,llvm::object::IRObjectFile::findBitcodeInMemBuffer(),llvm::getBitcodeFileContents(),llvm::irsymtab::readBitcode(), andllvm::Expected< T >::takeError().

Referenced byllvm::lto::InputFile::create().

◆ readStringOrId()

staticError llvm::object::readStringOrId(BinaryStreamReaderReader,
uint16_tID,
ArrayRef<UTF16 > & Str,
boolIsString 
)
static

Definition at line98 of fileWindowsResource.cpp.

Referencesllvm::BinaryStreamReader::getOffset(),llvm::BinaryStreamReader::readInteger(),llvm::BinaryStreamReader::readWideString(),RETURN_IF_ERROR,llvm::BinaryStreamReader::setOffset(), andllvm::Error::success().

◆ replace()

staticExpected< std::string > llvm::object::replace(StringRef S,
StringRef From,
StringRef To 
)
static

Definition at line191 of fileCOFFImportFile.cpp.

Referencesllvm::StringRef::find(),From,llvm::StringRef::npos,parse_failed,llvm::StringRef::starts_with(), andllvm::StringRef::substr().

Referenced bywriteImportLibrary().

◆ resolveAArch64()

staticuint64_t llvm::object::resolveAArch64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line88 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolveAmdgpu()

staticuint64_t llvm::object::resolveAmdgpu(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line276 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveARM()

staticuint64_t llvm::object::resolveARM(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t Addend 
)
static

Definition at line343 of fileRelocationResolver.cpp.

Referencesassert(),llvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolveAVR()

staticuint64_t llvm::object::resolveAVR(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line369 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveBPF()

staticuint64_t llvm::object::resolveBPF(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line116 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveCOFFARM()

staticuint64_t llvm::object::resolveCOFFARM(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line651 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_ARM_ADDR32,llvm::COFF::IMAGE_REL_ARM_SECREL, andllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveCOFFARM64()

staticuint64_t llvm::object::resolveCOFFARM64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line672 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_ARM64_ADDR64,llvm::COFF::IMAGE_REL_ARM64_SECREL, andllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveCOFFX86()

staticuint64_t llvm::object::resolveCOFFX86(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line608 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_I386_DIR32,llvm::COFF::IMAGE_REL_I386_SECREL, andllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveCOFFX86_64()

staticuint64_t llvm::object::resolveCOFFX86_64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line629 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_AMD64_ADDR64,llvm::COFF::IMAGE_REL_AMD64_SECREL, andllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveCSKY()

staticuint64_t llvm::object::resolveCSKY(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t Addend 
)
static

Definition at line526 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolveHexagon()

staticuint64_t llvm::object::resolveHexagon(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line433 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveLanai()

staticuint64_t llvm::object::resolveLanai(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line385 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveLoongArch()

staticuint64_t llvm::object::resolveLoongArch(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t Addend 
)
static

Definition at line562 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolveMachOX86_64()

staticuint64_t llvm::object::resolveMachOX86_64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line688 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::MachO::X86_64_RELOC_UNSIGNED.

Referenced bygetRelocationResolver().

◆ resolveMips32()

staticuint64_t llvm::object::resolveMips32(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line402 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveMips64()

staticuint64_t llvm::object::resolveMips64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line140 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolveMSP430()

staticuint64_t llvm::object::resolveMSP430(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line166 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolvePPC32()

staticuint64_t llvm::object::resolvePPC32(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line322 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolvePPC64()

staticuint64_t llvm::object::resolvePPC64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line190 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolveRelocation()

uint64_t llvm::object::resolveRelocation(RelocationResolver Resolver,
constRelocationRefR,
uint64_t S,
uint64_t LocData 
)

Definition at line875 of fileRelocationResolver.cpp.

ReferencesgetELFAddend(),llvm::Triple::loongarch32,llvm::Triple::loongarch64,llvm::Triple::riscv32,llvm::Triple::riscv64, andllvm::ELF::SHT_RELA.

Referenced byllvm::DWARFDataExtractor::getRelocatedValue(),loadObj(),llvm::RuntimeDyldImpl::resolveRelocationList(), andllvm::RuntimeDyldELF::~RuntimeDyldELF().

◆ resolveRISCV()

staticuint64_t llvm::object::resolveRISCV(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t Addend 
)
static

Definition at line471 of fileRelocationResolver.cpp.

ReferencesA,llvm_unreachable,llvm::Offset, andRA.

Referenced bygetRelocationResolver().

◆ resolveSparc32()

staticuint64_t llvm::object::resolveSparc32(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t Addend 
)
static

Definition at line422 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ resolveSparc64()

staticuint64_t llvm::object::resolveSparc64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line240 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveSystemZ()

staticuint64_t llvm::object::resolveSystemZ(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t ,
int64_t Addend 
)
static

Definition at line216 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver().

◆ resolveWasm32()

staticuint64_t llvm::object::resolveWasm32(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line731 of fileRelocationResolver.cpp.

Referencesllvm_unreachable.

Referenced bygetRelocationResolver(), andresolveWasm64().

◆ resolveWasm64()

staticuint64_t llvm::object::resolveWasm64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t Addend 
)
static

Definition at line755 of fileRelocationResolver.cpp.

Referencesllvm::Offset, andresolveWasm32().

Referenced bygetRelocationResolver().

◆ resolveX86()

staticuint64_t llvm::object::resolveX86(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t  
)
static

Definition at line298 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ resolveX86_64()

staticuint64_t llvm::object::resolveX86_64(uint64_t Type,
uint64_t Offset,
uint64_t S,
uint64_t LocData,
int64_t Addend 
)
static

Definition at line55 of fileRelocationResolver.cpp.

Referencesllvm_unreachable, andllvm::Offset.

Referenced bygetRelocationResolver().

◆ supportsAArch64()

staticbool llvm::object::supportsAArch64(uint64_t Type)
static

Definition at line75 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsAmdgpu()

staticbool llvm::object::supportsAmdgpu(uint64_t Type)
static

Definition at line266 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsARM()

staticbool llvm::object::supportsARM(uint64_t Type)
static

Definition at line333 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsAVR()

staticbool llvm::object::supportsAVR(uint64_t Type)
static

Definition at line359 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsBPF()

staticbool llvm::object::supportsBPF(uint64_t Type)
static

Definition at line106 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsCOFFARM()

staticbool llvm::object::supportsCOFFARM(uint64_t Type)
static

Definition at line641 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_ARM_ADDR32, andllvm::COFF::IMAGE_REL_ARM_SECREL.

Referenced bygetRelocationResolver().

◆ supportsCOFFARM64()

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

Definition at line662 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_ARM64_ADDR64, andllvm::COFF::IMAGE_REL_ARM64_SECREL.

Referenced bygetRelocationResolver().

◆ supportsCOFFX86()

staticbool llvm::object::supportsCOFFX86(uint64_t Type)
static

Definition at line598 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_I386_DIR32, andllvm::COFF::IMAGE_REL_I386_SECREL.

Referenced bygetRelocationResolver().

◆ supportsCOFFX86_64()

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

Definition at line619 of fileRelocationResolver.cpp.

Referencesllvm::COFF::IMAGE_REL_AMD64_ADDR64, andllvm::COFF::IMAGE_REL_AMD64_SECREL.

Referenced bygetRelocationResolver().

◆ supportsCSKY()

staticbool llvm::object::supportsCSKY(uint64_t Type)
static

Definition at line515 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsHexagon()

staticbool llvm::object::supportsHexagon(uint64_t Type)
static

Definition at line429 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsLanai()

staticbool llvm::object::supportsLanai(uint64_t Type)
static

Definition at line381 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsLoongArch()

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

Definition at line540 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsMachOX86_64()

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

Definition at line684 of fileRelocationResolver.cpp.

Referencesllvm::MachO::X86_64_RELOC_UNSIGNED.

Referenced bygetRelocationResolver().

◆ supportsMips32()

staticbool llvm::object::supportsMips32(uint64_t Type)
static

Definition at line392 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsMips64()

staticbool llvm::object::supportsMips64(uint64_t Type)
static

Definition at line128 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsMSP430()

staticbool llvm::object::supportsMSP430(uint64_t Type)
static

Definition at line156 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsPPC32()

staticbool llvm::object::supportsPPC32(uint64_t Type)
static

Definition at line312 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsPPC64()

staticbool llvm::object::supportsPPC64(uint64_t Type)
static

Definition at line178 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsRISCV()

staticbool llvm::object::supportsRISCV(uint64_t Type)
static

Definition at line440 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsSparc32()

staticbool llvm::object::supportsSparc32(uint64_t Type)
static

Definition at line412 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsSparc64()

staticbool llvm::object::supportsSparc64(uint64_t Type)
static

Definition at line228 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsSystemZ()

staticbool llvm::object::supportsSystemZ(uint64_t Type)
static

Definition at line206 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsWasm32()

staticbool llvm::object::supportsWasm32(uint64_t Type)
static

Definition at line695 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver(), andsupportsWasm64().

◆ supportsWasm64()

staticbool llvm::object::supportsWasm64(uint64_t Type)
static

Definition at line717 of fileRelocationResolver.cpp.

ReferencessupportsWasm32().

Referenced bygetRelocationResolver().

◆ supportsX86()

staticbool llvm::object::supportsX86(uint64_t Type)
static

Definition at line287 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ supportsX86_64()

staticbool llvm::object::supportsX86_64(uint64_t Type)
static

Definition at line39 of fileRelocationResolver.cpp.

Referenced bygetRelocationResolver().

◆ viewAs()

template<typenameT >
staticconstT * llvm::object::viewAs(uintptr_t in)
static

Definition at line47 of fileXCOFFObjectFile.cpp.

◆ writeImportLibrary()

Error llvm::object::writeImportLibrary(StringRef ImportName,
StringRef Path,
ArrayRef<COFFShortExportExports,
COFF::MachineTypes Machine,
bool MinGW,
ArrayRef<COFFShortExportNativeExports ={} 
)

Writes aCOFF 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 line661 of fileCOFFImportFile.cpp.

ReferencesapplyNameType(),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,Name,llvm::NormalSymtab,parse_failed,llvm::SmallVectorTemplateBase< T, bool >::push_back(),replace(),llvm::Error::success(),llvm::Expected< T >::takeError(), andllvm::writeArchive().

Referenced byllvm::dlltoolDriverMain(), andllvm::libDriverMain().

◆ writeStringTable()

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

Definition at line147 of fileCOFFImportFile.cpp.

ReferencesB,llvm::Length,llvm::Offset, andllvm::support::endian::write32le().

◆ writeUniversalBinary()

Error llvm::object::writeUniversalBinary(ArrayRef<SliceSlices,
StringRef OutputFileName,
FatHeaderType FatHeader =FatHeaderType::FatHeader 
)

Definition at line352 of fileMachOUniversalWriter.cpp.

Referencesllvm::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(), andwriteUniversalBinaryToStream().

◆ writeUniversalBinaryToStream()

Error llvm::object::writeUniversalBinaryToStream(ArrayRef<SliceSlices,
raw_ostreamOut,
FatHeaderType FatHeader =FatHeaderType::FatHeader 
)

Definition at line331 of fileMachOUniversalWriter.cpp.

ReferencesFat64Header,llvm::MachO::FAT_MAGIC,llvm::MachO::FAT_MAGIC_64,FatHeader,llvm_unreachable, andllvm::ArrayRef< T >::size().

Referenced byllvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary(), andwriteUniversalBinary().

◆ writeWindowsResourceCOFF()

Expected< std::unique_ptr<MemoryBuffer > > llvm::object::writeWindowsResourceCOFF(llvm::COFF::MachineTypes MachineType,
constWindowsResourceParserParser,
uint32_t TimeDateStamp 
)

Definition at line1003 of fileWindowsResource.cpp.

Referencesllvm::Error::success(), andllvm::object::WindowsResourceCOFFWriter::write().

Variable Documentation

◆ ArchiveMagic

constchar llvm::object::ArchiveMagic[] = "!<arch>\n"

Definition at line33 of fileArchive.h.

Referenced byllvm::object::Archive::Archive(), andllvm::object::Archive::getArchiveMagicLen().

◆ BigArchiveMagic

constchar llvm::object::BigArchiveMagic[] = "<bigaf>\n"

Definition at line35 of fileArchive.h.

Referenced byllvm::object::Archive::Archive(),llvm::object::Archive::create(), andllvm::object::Archive::getArchiveMagicLen().

◆ ElfSymbolTypes

constEnumEntry<unsigned > llvm::object::ElfSymbolTypes
extern
Initial value:
= {
{"None","NOTYPE", ELF::STT_NOTYPE},
{"Object","OBJECT", ELF::STT_OBJECT},
{"Function","FUNC", ELF::STT_FUNC},
{"Section","SECTION", ELF::STT_SECTION},
{"File","FILE", ELF::STT_FILE},
{"Common","COMMON", ELF::STT_COMMON},
{"TLS","TLS", ELF::STT_TLS},
{"Unknown","<unknown>: 7", 7},
{"Unknown","<unknown>: 8", 8},
{"Unknown","<unknown>: 9", 9},
{"GNU_IFunc","IFUNC", ELF::STT_GNU_IFUNC},
{"OS Specific","<OS specific>: 11", 11},
{"OS Specific","<OS specific>: 12", 12},
{"Proc Specific","<processor specific>: 13", 13},
{"Proc Specific","<processor specific>: 14", 14},
{"Proc Specific","<processor specific>: 15", 15}
}

Definition at line40 of fileELFObjectFile.cpp.

Referenced byllvm::object::ELFSymbolRef::getELFTypeName().

◆ FunctionSym

constuint8_t llvm::object::FunctionSym = 0x20
static

Definition at line27 of fileXCOFFObjectFile.cpp.

Referenced byllvm::object::XCOFFSymbolRef::isFunction().

◆ ImportDescriptorPrefix

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

Definition at line30 of fileCOFFImportFile.h.

Referenced byisImportDescriptor().

◆ MIN_HEADER_SIZE

constuint32_t llvm::object::MIN_HEADER_SIZE = 7 * sizeof(uint32_t) + 2 * sizeof(uint16_t)

Definition at line44 of fileWindowsResource.cpp.

◆ NoRelMask

constuint16_t llvm::object::NoRelMask = 0x0001
static

Definition at line28 of fileXCOFFObjectFile.cpp.

Referenced byllvm::object::XCOFFObjectFile::isRelocatableObject().

◆ NullImportDescriptorSymbolName

constexpr std::string_view llvm::object::NullImportDescriptorSymbolName
constexpr
Initial value:
=
"__NULL_IMPORT_DESCRIPTOR"

Definition at line31 of fileCOFFImportFile.h.

Referenced byisImportDescriptor().

◆ NullThunkDataPrefix

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

Definition at line33 of fileCOFFImportFile.h.

Referenced byisImportDescriptor().

◆ NullThunkDataSuffix

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

Definition at line34 of fileCOFFImportFile.h.

Referenced byisImportDescriptor().

◆ NumElfSymbolTypes

constexpr int llvm::object::NumElfSymbolTypes = 16
constexpr

Definition at line46 of fileELFObjectFile.h.

◆ SECTION_ALIGNMENT

constuint32_t llvm::object::SECTION_ALIGNMENT = sizeof(uint64_t)

Definition at line48 of fileWindowsResource.cpp.

◆ SymbolAuxTypeOffset

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

Definition at line29 of fileXCOFFObjectFile.cpp.

Referenced byllvm::object::XCOFFObjectFile::getSymbolAuxType().

◆ ThinArchiveMagic

constchar llvm::object::ThinArchiveMagic[] = "!<thin>\n"

Definition at line34 of fileArchive.h.

Referenced byllvm::object::Archive::Archive(), andllvm::object::Archive::getArchiveMagicLen().

◆ WIN_RES_DATA_ALIGNMENT

constuint32_t llvm::object::WIN_RES_DATA_ALIGNMENT = 4

Definition at line57 of fileWindowsResource.h.

◆ WIN_RES_HEADER_ALIGNMENT

constuint32_t llvm::object::WIN_RES_HEADER_ALIGNMENT = 4

Definition at line56 of fileWindowsResource.h.

◆ WIN_RES_MAGIC_SIZE

const size_t llvm::object::WIN_RES_MAGIC_SIZE = 16

Definition at line54 of fileWindowsResource.h.

Referenced byllvm::object::WindowsResource::createWindowsResource().

◆ WIN_RES_NULL_ENTRY_SIZE

const size_t llvm::object::WIN_RES_NULL_ENTRY_SIZE = 16

Definition at line55 of fileWindowsResource.h.

Referenced byllvm::object::WindowsResource::createWindowsResource().

◆ WIN_RES_PURE_MOVEABLE

constuint16_t llvm::object::WIN_RES_PURE_MOVEABLE = 0x0030

Definition at line58 of fileWindowsResource.h.


Generated on Sun Jul 20 2025 22:16:22 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp