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

Namespaces

namespace  DylibReader
 Defines the MachO Dynamic Library Reader.
 

Classes

struct  any_relocation_info
 
class  ArchitectureSet
 
struct  arm_state_hdr_t
 
struct  arm_thread_state32_t
 
struct  arm_thread_state64_t
 
struct  arm_thread_state_t
 
struct  build_tool_version
 
struct  build_version_command
 
struct  CS_BlobIndex
 
struct  CS_CodeDirectory
 
struct  CS_SuperBlob
 
struct  data_in_code_entry
 
struct  dyld_chained_fixups_header
 Structs for dyld chained fixups. More...
 
struct  dyld_chained_import
 
struct  dyld_chained_import_addend
 
struct  dyld_chained_import_addend64
 
struct  dyld_chained_ptr_64_bind
 
struct  dyld_chained_ptr_64_rebase
 
struct  dyld_chained_starts_in_image
 dyld_chained_starts_in_image is embedded in LC_DYLD_CHAINED_FIXUPS payload. More...
 
struct  dyld_chained_starts_in_segment
 
struct  dyld_env_command
 
struct  dyld_info_command
 
struct  dylib
 
struct  dylib_command
 
struct  dylib_module
 
struct  dylib_module_64
 
struct  dylib_reference
 
struct  dylib_table_of_contents
 
struct  dylinker_command
 
struct  dysymtab_command
 
struct  encryption_info_command
 
struct  encryption_info_command_64
 
struct  entry_point_command
 
struct  fat_arch
 
struct  fat_arch_64
 
struct  fat_header
 
struct  fileset_entry_command
 
struct  fp_control_t
 
struct  fp_status_t
 
struct  fvmfile_command
 
struct  fvmlib
 
struct  fvmlib_command
 
class  GlobalRecord
 
struct  ident_command
 
class  InterfaceFile
 Defines the interface file. More...
 
class  InterfaceFileRef
 Reference to an interface file. More...
 
union  lc_str
 
struct  linkedit_data_command
 
struct  linker_option_command
 
struct  load_command
 
struct  mach_header
 
struct  mach_header_64
 
union  macho_load_command
 
struct  mmst_reg_t
 
struct  nlist
 
struct  nlist_64
 
struct  nlist_base
 
struct  note_command
 
class  ObjCCategoryRecord
 
class  ObjCContainerRecord
 
class  ObjCInterfaceRecord
 
class  ObjCIVarRecord
 
class  PackedVersion
 
struct  ppc_state_hdr_t
 
struct  ppc_thread_state32_t
 
struct  ppc_thread_state_t
 
struct  prebind_cksum_command
 
struct  prebound_dylib_command
 
class  Record
 Define Record. More...
 
struct  RecordLoc
 
class  RecordsSlice
 
class  RecordVisitor
 Base class for any usage of traversing over collected Records. More...
 
struct  relocation_info
 
struct  routines_command
 
struct  routines_command_64
 
struct  rpath_command
 
struct  scattered_relocation_info
 
struct  section
 
struct  section_64
 
struct  segment_command
 
struct  segment_command_64
 
struct  SimpleSymbol
 Lightweight struct for passing around symbol information. More...
 
struct  source_version_command
 
struct  sub_client_command
 
struct  sub_framework_command
 
struct  sub_library_command
 
struct  sub_umbrella_command
 
class  Symbol
 
class  SymbolConverter
 Specialized RecordVisitor for collecting exported symbols and undefined symbols if RecordSlice being visited represents a flat-namespaced library. More...
 
class  SymbolSet
 
struct  SymLink
 
struct  symseg_command
 
struct  symtab_command
 
class  Target
 
struct  TextAPIContext
 
class  TextAPIError
 
class  TextAPIReader
 
class  TextAPIWriter
 
struct  thread_command
 
struct  tlv_descriptor
 
struct  tlv_descriptor_32
 
struct  tlv_descriptor_64
 
struct  twolevel_hint
 
struct  twolevel_hints_command
 
struct  uuid_command
 
struct  version_min_command
 
struct  x86_exception_state64_t
 
struct  x86_exception_state_t
 
struct  x86_float_state64_t
 
struct  x86_float_state_t
 
struct  x86_state_hdr_t
 
struct  x86_thread_state32_t
 
struct  x86_thread_state64_t
 
struct  x86_thread_state_t
 
struct  xmm_reg_t
 

Typedefs

using PlatformSet = SmallSet< PlatformType, 3 >
 
using PlatformVersionSet = SmallSet< std::pair< PlatformType, VersionTuple >, 3 >
 
template<typename V , typename K = StringRef, typename std::enable_if< std::is_base_of< Record, V >::value >::type * = nullptr>
using RecordMap = llvm::MapVector< K, std::unique_ptr< V > >
 
using Records = llvm::SmallVector< std::shared_ptr< RecordsSlice >, 4 >
 
using TargetList = SmallVector< Target, 5 >
 
using PathSeq = std::vector< std::string >
 
using PathToPlatform = std::pair< std::string, std::optional< PlatformType > >
 
using PathToPlatformSeq = std::vector< PathToPlatform >
 
using AliasEntry = std::pair< std::string, EncodeKind >
 
using AliasMap = std::map< AliasEntry, AliasEntry >
 

Enumerations

enum  : uint32_t {
  MH_MAGIC = 0xFEEDFACEu , MH_CIGAM = 0xCEFAEDFEu , MH_MAGIC_64 = 0xFEEDFACFu , MH_CIGAM_64 = 0xCFFAEDFEu ,
  FAT_MAGIC = 0xCAFEBABEu , FAT_CIGAM = 0xBEBAFECAu , FAT_MAGIC_64 = 0xCAFEBABFu , FAT_CIGAM_64 = 0xBFBAFECAu
}
 
enum  HeaderFileType {
  MH_OBJECT = 0x1u , MH_EXECUTE = 0x2u , MH_FVMLIB = 0x3u , MH_CORE = 0x4u ,
  MH_PRELOAD = 0x5u , MH_DYLIB = 0x6u , MH_DYLINKER = 0x7u , MH_BUNDLE = 0x8u ,
  MH_DYLIB_STUB = 0x9u , MH_DSYM = 0xAu , MH_KEXT_BUNDLE = 0xBu , MH_FILESET = 0xCu
}
 
enum  {
  MH_NOUNDEFS = 0x00000001u , MH_INCRLINK = 0x00000002u , MH_DYLDLINK = 0x00000004u , MH_BINDATLOAD = 0x00000008u ,
  MH_PREBOUND = 0x00000010u , MH_SPLIT_SEGS = 0x00000020u , MH_LAZY_INIT = 0x00000040u , MH_TWOLEVEL = 0x00000080u ,
  MH_FORCE_FLAT = 0x00000100u , MH_NOMULTIDEFS = 0x00000200u , MH_NOFIXPREBINDING = 0x00000400u , MH_PREBINDABLE = 0x00000800u ,
  MH_ALLMODSBOUND = 0x00001000u , MH_SUBSECTIONS_VIA_SYMBOLS = 0x00002000u , MH_CANONICAL = 0x00004000u , MH_WEAK_DEFINES = 0x00008000u ,
  MH_BINDS_TO_WEAK = 0x00010000u , MH_ALLOW_STACK_EXECUTION = 0x00020000u , MH_ROOT_SAFE = 0x00040000u , MH_SETUID_SAFE = 0x00080000u ,
  MH_NO_REEXPORTED_DYLIBS = 0x00100000u , MH_PIE = 0x00200000u , MH_DEAD_STRIPPABLE_DYLIB = 0x00400000u , MH_HAS_TLV_DESCRIPTORS = 0x00800000u ,
  MH_NO_HEAP_EXECUTION = 0x01000000u , MH_APP_EXTENSION_SAFE = 0x02000000u , MH_NLIST_OUTOFSYNC_WITH_DYLDINFO = 0x04000000u , MH_SIM_SUPPORT = 0x08000000u ,
  MH_DYLIB_IN_CACHE = 0x80000000u
}
 
enum  : uint32_t { LC_REQ_DYLD = 0x80000000u }
 
enum  LoadCommandType : uint32_t
 
enum  : uint32_t {
  SG_HIGHVM = 0x1u , SG_FVMLIB = 0x2u , SG_NORELOC = 0x4u , SG_PROTECTED_VERSION_1 = 0x8u ,
  SG_READ_ONLY = 0x10u , SECTION_TYPE = 0x000000ffu , SECTION_ATTRIBUTES = 0xffffff00u , SECTION_ATTRIBUTES_USR = 0xff000000u ,
  SECTION_ATTRIBUTES_SYS = 0x00ffff00u
}
 
enum  SectionType : uint32_t {
  S_REGULAR = 0x00u , S_ZEROFILL = 0x01u , S_CSTRING_LITERALS = 0x02u , S_4BYTE_LITERALS = 0x03u ,
  S_8BYTE_LITERALS = 0x04u , S_LITERAL_POINTERS = 0x05u , S_NON_LAZY_SYMBOL_POINTERS = 0x06u , S_LAZY_SYMBOL_POINTERS = 0x07u ,
  S_SYMBOL_STUBS = 0x08u , S_MOD_INIT_FUNC_POINTERS = 0x09u , S_MOD_TERM_FUNC_POINTERS = 0x0au , S_COALESCED = 0x0bu ,
  S_GB_ZEROFILL = 0x0cu , S_INTERPOSING = 0x0du , S_16BYTE_LITERALS = 0x0eu , S_DTRACE_DOF = 0x0fu ,
  S_LAZY_DYLIB_SYMBOL_POINTERS = 0x10u , S_THREAD_LOCAL_REGULAR = 0x11u , S_THREAD_LOCAL_ZEROFILL = 0x12u , S_THREAD_LOCAL_VARIABLES = 0x13u ,
  S_THREAD_LOCAL_VARIABLE_POINTERS = 0x14u , S_THREAD_LOCAL_INIT_FUNCTION_POINTERS = 0x15u , S_INIT_FUNC_OFFSETS = 0x16u , LAST_KNOWN_SECTION_TYPE = S_INIT_FUNC_OFFSETS
}
 These are the section type and attributes fields. More...
 
enum  : uint32_t {
  S_ATTR_PURE_INSTRUCTIONS = 0x80000000u , S_ATTR_NO_TOC = 0x40000000u , S_ATTR_STRIP_STATIC_SYMS = 0x20000000u , S_ATTR_NO_DEAD_STRIP = 0x10000000u ,
  S_ATTR_LIVE_SUPPORT = 0x08000000u , S_ATTR_SELF_MODIFYING_CODE = 0x04000000u , S_ATTR_DEBUG = 0x02000000u , S_ATTR_SOME_INSTRUCTIONS = 0x00000400u ,
  S_ATTR_EXT_RELOC = 0x00000200u , S_ATTR_LOC_RELOC = 0x00000100u , INDIRECT_SYMBOL_LOCAL = 0x80000000u , INDIRECT_SYMBOL_ABS = 0x40000000u
}
 
enum  DataRegionType {
  DICE_KIND_DATA = 1u , DICE_KIND_JUMP_TABLE8 = 2u , DICE_KIND_JUMP_TABLE16 = 3u , DICE_KIND_JUMP_TABLE32 = 4u ,
  DICE_KIND_ABS_JUMP_TABLE32 = 5u
}
 
enum  RebaseType { REBASE_TYPE_POINTER = 1u , REBASE_TYPE_TEXT_ABSOLUTE32 = 2u , REBASE_TYPE_TEXT_PCREL32 = 3u }
 
enum  { REBASE_OPCODE_MASK = 0xF0u , REBASE_IMMEDIATE_MASK = 0x0Fu }
 
enum  RebaseOpcode {
  REBASE_OPCODE_DONE = 0x00u , REBASE_OPCODE_SET_TYPE_IMM = 0x10u , REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB = 0x20u , REBASE_OPCODE_ADD_ADDR_ULEB = 0x30u ,
  REBASE_OPCODE_ADD_ADDR_IMM_SCALED = 0x40u , REBASE_OPCODE_DO_REBASE_IMM_TIMES = 0x50u , REBASE_OPCODE_DO_REBASE_ULEB_TIMES = 0x60u , REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB = 0x70u ,
  REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB = 0x80u
}
 
enum  BindType { BIND_TYPE_POINTER = 1u , BIND_TYPE_TEXT_ABSOLUTE32 = 2u , BIND_TYPE_TEXT_PCREL32 = 3u }
 
enum  BindSpecialDylib { BIND_SPECIAL_DYLIB_SELF = 0 , BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE = -1 , BIND_SPECIAL_DYLIB_FLAT_LOOKUP = -2 , BIND_SPECIAL_DYLIB_WEAK_LOOKUP = -3 }
 
enum  { BIND_SYMBOL_FLAGS_WEAK_IMPORT = 0x1u , BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION = 0x8u , BIND_OPCODE_MASK = 0xF0u , BIND_IMMEDIATE_MASK = 0x0Fu }
 
enum  BindOpcode {
  BIND_OPCODE_DONE = 0x00u , BIND_OPCODE_SET_DYLIB_ORDINAL_IMM = 0x10u , BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB = 0x20u , BIND_OPCODE_SET_DYLIB_SPECIAL_IMM = 0x30u ,
  BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM = 0x40u , BIND_OPCODE_SET_TYPE_IMM = 0x50u , BIND_OPCODE_SET_ADDEND_SLEB = 0x60u , BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB = 0x70u ,
  BIND_OPCODE_ADD_ADDR_ULEB = 0x80u , BIND_OPCODE_DO_BIND = 0x90u , BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB = 0xA0u , BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED = 0xB0u ,
  BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB = 0xC0u
}
 
enum  { EXPORT_SYMBOL_FLAGS_KIND_MASK = 0x03u , EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION = 0x04u , EXPORT_SYMBOL_FLAGS_REEXPORT = 0x08u , EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER = 0x10u }
 
enum  ExportSymbolKind { EXPORT_SYMBOL_FLAGS_KIND_REGULAR = 0x00u , EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL = 0x01u , EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE = 0x02u }
 
enum  { N_STAB = 0xe0 , N_PEXT = 0x10 , N_TYPE = 0x0e , N_EXT = 0x01 }
 
enum  NListType : uint8_t {
  N_UNDF = 0x0u , N_ABS = 0x2u , N_SECT = 0xeu , N_PBUD = 0xcu ,
  N_INDR = 0xau
}
 
enum  SectionOrdinal { NO_SECT = 0u , MAX_SECT = 0xffu }
 
enum  {
  REFERENCE_TYPE = 0x7 , REFERENCE_FLAG_UNDEFINED_NON_LAZY = 0 , REFERENCE_FLAG_UNDEFINED_LAZY = 1 , REFERENCE_FLAG_DEFINED = 2 ,
  REFERENCE_FLAG_PRIVATE_DEFINED = 3 , REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY = 4 , REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY = 5 , N_ARM_THUMB_DEF = 0x0008u ,
  REFERENCED_DYNAMICALLY = 0x0010u , N_NO_DEAD_STRIP = 0x0020u , N_WEAK_REF = 0x0040u , N_WEAK_DEF = 0x0080u ,
  N_SYMBOL_RESOLVER = 0x0100u , N_ALT_ENTRY = 0x0200u , N_COLD_FUNC = 0x0400u , SELF_LIBRARY_ORDINAL = 0x0 ,
  MAX_LIBRARY_ORDINAL = 0xfd , DYNAMIC_LOOKUP_ORDINAL = 0xfe , EXECUTABLE_ORDINAL = 0xff
}
 
enum  StabType {
  N_GSYM = 0x20u , N_FNAME = 0x22u , N_FUN = 0x24u , N_STSYM = 0x26u ,
  N_LCSYM = 0x28u , N_BNSYM = 0x2Eu , N_PC = 0x30u , N_AST = 0x32u ,
  N_OPT = 0x3Cu , N_RSYM = 0x40u , N_SLINE = 0x44u , N_ENSYM = 0x4Eu ,
  N_SSYM = 0x60u , N_SO = 0x64u , N_OSO = 0x66u , N_LIB = 0x68u ,
  N_LSYM = 0x80u , N_BINCL = 0x82u , N_SOL = 0x84u , N_PARAMS = 0x86u ,
  N_VERSION = 0x88u , N_OLEVEL = 0x8Au , N_PSYM = 0xA0u , N_EINCL = 0xA2u ,
  N_ENTRY = 0xA4u , N_LBRAC = 0xC0u , N_EXCL = 0xC2u , N_RBRAC = 0xE0u ,
  N_BCOMM = 0xE2u , N_ECOMM = 0xE4u , N_ECOML = 0xE8u , N_LENG = 0xFEu
}
 
enum  : uint32_t { R_ABS = 0 , R_SCATTERED = 0x80000000 }
 
enum  RelocationInfoType {
  GENERIC_RELOC_INVALID = 0xff , GENERIC_RELOC_VANILLA = 0 , GENERIC_RELOC_PAIR = 1 , GENERIC_RELOC_SECTDIFF = 2 ,
  GENERIC_RELOC_PB_LA_PTR = 3 , GENERIC_RELOC_LOCAL_SECTDIFF = 4 , GENERIC_RELOC_TLV = 5 , PPC_RELOC_VANILLA = GENERIC_RELOC_VANILLA ,
  PPC_RELOC_PAIR = GENERIC_RELOC_PAIR , PPC_RELOC_BR14 = 2 , PPC_RELOC_BR24 = 3 , PPC_RELOC_HI16 = 4 ,
  PPC_RELOC_LO16 = 5 , PPC_RELOC_HA16 = 6 , PPC_RELOC_LO14 = 7 , PPC_RELOC_SECTDIFF = 8 ,
  PPC_RELOC_PB_LA_PTR = 9 , PPC_RELOC_HI16_SECTDIFF = 10 , PPC_RELOC_LO16_SECTDIFF = 11 , PPC_RELOC_HA16_SECTDIFF = 12 ,
  PPC_RELOC_JBSR = 13 , PPC_RELOC_LO14_SECTDIFF = 14 , PPC_RELOC_LOCAL_SECTDIFF = 15 , ARM_RELOC_VANILLA = GENERIC_RELOC_VANILLA ,
  ARM_RELOC_PAIR = GENERIC_RELOC_PAIR , ARM_RELOC_SECTDIFF = GENERIC_RELOC_SECTDIFF , ARM_RELOC_LOCAL_SECTDIFF = 3 , ARM_RELOC_PB_LA_PTR = 4 ,
  ARM_RELOC_BR24 = 5 , ARM_THUMB_RELOC_BR22 = 6 , ARM_THUMB_32BIT_BRANCH = 7 , ARM_RELOC_HALF = 8 ,
  ARM_RELOC_HALF_SECTDIFF = 9 , ARM64_RELOC_UNSIGNED = 0 , ARM64_RELOC_SUBTRACTOR = 1 , ARM64_RELOC_BRANCH26 = 2 ,
  ARM64_RELOC_PAGE21 = 3 , ARM64_RELOC_PAGEOFF12 = 4 , ARM64_RELOC_GOT_LOAD_PAGE21 = 5 , ARM64_RELOC_GOT_LOAD_PAGEOFF12 = 6 ,
  ARM64_RELOC_POINTER_TO_GOT = 7 , ARM64_RELOC_TLVP_LOAD_PAGE21 = 8 , ARM64_RELOC_TLVP_LOAD_PAGEOFF12 = 9 , ARM64_RELOC_ADDEND = 10 ,
  ARM64_RELOC_AUTHENTICATED_POINTER = 11 , X86_64_RELOC_UNSIGNED = 0 , X86_64_RELOC_SIGNED = 1 , X86_64_RELOC_BRANCH = 2 ,
  X86_64_RELOC_GOT_LOAD = 3 , X86_64_RELOC_GOT = 4 , X86_64_RELOC_SUBTRACTOR = 5 , X86_64_RELOC_SIGNED_1 = 6 ,
  X86_64_RELOC_SIGNED_2 = 7 , X86_64_RELOC_SIGNED_4 = 8 , X86_64_RELOC_TLV = 9
}
 
enum  { VM_PROT_READ = 0x1 , VM_PROT_WRITE = 0x2 , VM_PROT_EXECUTE = 0x4 }
 
enum  PlatformType
 
enum  { TOOL_CLANG = 1 , TOOL_SWIFT = 2 , TOOL_LD = 3 , TOOL_LLD = 4 }
 
enum  ChainedImportFormat { DYLD_CHAINED_IMPORT = 1 , DYLD_CHAINED_IMPORT_ADDEND = 2 , DYLD_CHAINED_IMPORT_ADDEND64 = 3 }
 
enum  { DYLD_CHAINED_SYMBOL_UNCOMPRESSED = 0 , DYLD_CHAINED_SYMBOL_ZLIB = 1 }
 
enum  { DYLD_CHAINED_PTR_START_NONE = 0xFFFF , DYLD_CHAINED_PTR_START_MULTI = 0x8000 , DYLD_CHAINED_PTR_START_LAST = 0x8000 }
 
enum  {
  DYLD_CHAINED_PTR_ARM64E = 1 , DYLD_CHAINED_PTR_64 = 2 , DYLD_CHAINED_PTR_32 = 3 , DYLD_CHAINED_PTR_32_CACHE = 4 ,
  DYLD_CHAINED_PTR_32_FIRMWARE = 5 , DYLD_CHAINED_PTR_64_OFFSET = 6 , DYLD_CHAINED_PTR_ARM64E_KERNEL = 7 , DYLD_CHAINED_PTR_64_KERNEL_CACHE = 8 ,
  DYLD_CHAINED_PTR_ARM64E_USERLAND = 9 , DYLD_CHAINED_PTR_ARM64E_FIRMWARE = 10 , DYLD_CHAINED_PTR_X86_64_KERNEL_CACHE = 11 , DYLD_CHAINED_PTR_ARM64E_USERLAND24 = 12
}
 
enum  : uint32_t { CPU_ARCH_MASK = 0xff000000 , CPU_ARCH_ABI64 = 0x01000000 , CPU_ARCH_ABI64_32 = 0x02000000 }
 
enum  CPUType {
  CPU_TYPE_ANY = -1 , CPU_TYPE_X86 = 7 , CPU_TYPE_I386 = CPU_TYPE_X86 , CPU_TYPE_X86_64 = CPU_TYPE_X86 | CPU_ARCH_ABI64 ,
  CPU_TYPE_MC98000 = 10 , CPU_TYPE_ARM = 12 , CPU_TYPE_ARM64 = CPU_TYPE_ARM | CPU_ARCH_ABI64 , CPU_TYPE_ARM64_32 = CPU_TYPE_ARM | CPU_ARCH_ABI64_32 ,
  CPU_TYPE_SPARC = 14 , CPU_TYPE_POWERPC = 18 , CPU_TYPE_POWERPC64 = CPU_TYPE_POWERPC | CPU_ARCH_ABI64
}
 
enum  : uint32_t { CPU_SUBTYPE_MASK = 0xff000000 , CPU_SUBTYPE_LIB64 = 0x80000000 , CPU_SUBTYPE_MULTIPLE = ~0u }
 
enum  CPUSubTypeX86 {
  CPU_SUBTYPE_I386_ALL = 3 , CPU_SUBTYPE_386 = 3 , CPU_SUBTYPE_486 = 4 , CPU_SUBTYPE_486SX = 0x84 ,
  CPU_SUBTYPE_586 = 5 , CPU_SUBTYPE_PENT = CPU_SUBTYPE_586 , CPU_SUBTYPE_PENTPRO = 0x16 , CPU_SUBTYPE_PENTII_M3 = 0x36 ,
  CPU_SUBTYPE_PENTII_M5 = 0x56 , CPU_SUBTYPE_CELERON = 0x67 , CPU_SUBTYPE_CELERON_MOBILE = 0x77 , CPU_SUBTYPE_PENTIUM_3 = 0x08 ,
  CPU_SUBTYPE_PENTIUM_3_M = 0x18 , CPU_SUBTYPE_PENTIUM_3_XEON = 0x28 , CPU_SUBTYPE_PENTIUM_M = 0x09 , CPU_SUBTYPE_PENTIUM_4 = 0x0a ,
  CPU_SUBTYPE_PENTIUM_4_M = 0x1a , CPU_SUBTYPE_ITANIUM = 0x0b , CPU_SUBTYPE_ITANIUM_2 = 0x1b , CPU_SUBTYPE_XEON = 0x0c ,
  CPU_SUBTYPE_XEON_MP = 0x1c , CPU_SUBTYPE_X86_ALL = 3 , CPU_SUBTYPE_X86_64_ALL = 3 , CPU_SUBTYPE_X86_ARCH1 = 4 ,
  CPU_SUBTYPE_X86_64_H = 8
}
 
enum  { CPU_SUBTYPE_INTEL_FAMILY_MAX = 15 , CPU_SUBTYPE_INTEL_MODEL_ALL = 0 }
 
enum  CPUSubTypeARM {
  CPU_SUBTYPE_ARM_ALL = 0 , CPU_SUBTYPE_ARM_V4T = 5 , CPU_SUBTYPE_ARM_V6 = 6 , CPU_SUBTYPE_ARM_V5 = 7 ,
  CPU_SUBTYPE_ARM_V5TEJ = 7 , CPU_SUBTYPE_ARM_XSCALE = 8 , CPU_SUBTYPE_ARM_V7 = 9 , CPU_SUBTYPE_ARM_V7S = 11 ,
  CPU_SUBTYPE_ARM_V7K = 12 , CPU_SUBTYPE_ARM_V6M = 14 , CPU_SUBTYPE_ARM_V7M = 15 , CPU_SUBTYPE_ARM_V7EM = 16
}
 
enum  CPUSubTypeARM64 { CPU_SUBTYPE_ARM64_ALL = 0 , CPU_SUBTYPE_ARM64_V8 = 1 , CPU_SUBTYPE_ARM64E = 2 }
 
enum  CPUSubTypeARM64_32 { CPU_SUBTYPE_ARM64_32_V8 = 1 }
 
enum  CPUSubTypeSPARC { CPU_SUBTYPE_SPARC_ALL = 0 }
 
enum  CPUSubTypePowerPC {
  CPU_SUBTYPE_POWERPC_ALL = 0 , CPU_SUBTYPE_POWERPC_601 = 1 , CPU_SUBTYPE_POWERPC_602 = 2 , CPU_SUBTYPE_POWERPC_603 = 3 ,
  CPU_SUBTYPE_POWERPC_603e = 4 , CPU_SUBTYPE_POWERPC_603ev = 5 , CPU_SUBTYPE_POWERPC_604 = 6 , CPU_SUBTYPE_POWERPC_604e = 7 ,
  CPU_SUBTYPE_POWERPC_620 = 8 , CPU_SUBTYPE_POWERPC_750 = 9 , CPU_SUBTYPE_POWERPC_7400 = 10 , CPU_SUBTYPE_POWERPC_7450 = 11 ,
  CPU_SUBTYPE_POWERPC_970 = 100 , CPU_SUBTYPE_MC980000_ALL = CPU_SUBTYPE_POWERPC_ALL , CPU_SUBTYPE_MC98601 = CPU_SUBTYPE_POWERPC_601
}
 
enum  x86_fp_control_precis { x86_FP_PREC_24B = 0 , x86_FP_PREC_53B = 2 , x86_FP_PREC_64B = 3 }
 
enum  x86_fp_control_rc { x86_FP_RND_NEAR = 0 , x86_FP_RND_DOWN = 1 , x86_FP_RND_UP = 2 , x86_FP_CHOP = 3 }
 
enum  X86ThreadFlavors {
  x86_THREAD_STATE32 = 1 , x86_FLOAT_STATE32 = 2 , x86_EXCEPTION_STATE32 = 3 , x86_THREAD_STATE64 = 4 ,
  x86_FLOAT_STATE64 = 5 , x86_EXCEPTION_STATE64 = 6 , x86_THREAD_STATE = 7 , x86_FLOAT_STATE = 8 ,
  x86_EXCEPTION_STATE = 9 , x86_DEBUG_STATE32 = 10 , x86_DEBUG_STATE64 = 11 , x86_DEBUG_STATE = 12
}
 
enum  ARMThreadFlavors {
  ARM_THREAD_STATE = 1 , ARM_VFP_STATE = 2 , ARM_EXCEPTION_STATE = 3 , ARM_DEBUG_STATE = 4 ,
  ARN_THREAD_STATE_NONE = 5 , ARM_THREAD_STATE64 = 6 , ARM_EXCEPTION_STATE64 = 7
}
 
enum  PPCThreadFlavors {
  PPC_THREAD_STATE = 1 , PPC_FLOAT_STATE = 2 , PPC_EXCEPTION_STATE = 3 , PPC_VECTOR_STATE = 4 ,
  PPC_THREAD_STATE64 = 5 , PPC_EXCEPTION_STATE64 = 6 , PPC_THREAD_STATE_NONE = 7
}
 
enum  CodeSignAttrs {
  CS_VALID = 0x00000001 , CS_ADHOC = 0x00000002 , CS_GET_TASK_ALLOW = 0x00000004 , CS_INSTALLER = 0x00000008 ,
  CS_FORCED_LV , CS_INVALID_ALLOWED = 0x00000020 , CS_HARD = 0x00000100 , CS_KILL = 0x00000200 ,
  CS_CHECK_EXPIRATION = 0x00000400 , CS_RESTRICT = 0x00000800 , CS_ENFORCEMENT = 0x00001000 , CS_REQUIRE_LV = 0x00002000 ,
  CS_ENTITLEMENTS_VALIDATED , CS_NVRAM_UNRESTRICTED , CS_RUNTIME = 0x00010000 , CS_LINKER_SIGNED = 0x00020000 ,
  CS_ALLOWED_MACHO , CS_EXEC_SET_HARD = 0x00100000 , CS_EXEC_SET_KILL = 0x00200000 , CS_EXEC_SET_ENFORCEMENT ,
  CS_EXEC_INHERIT_SIP , CS_KILLED = 0x01000000 , CS_DYLD_PLATFORM , CS_PLATFORM_BINARY = 0x04000000 ,
  CS_PLATFORM_PATH , CS_DEBUGGED = 0x10000000 , CS_SIGNED = 0x20000000 , CS_DEV_CODE ,
  CS_DATAVAULT_CONTROLLER , CS_ENTITLEMENT_FLAGS
}
 
enum  CodeSignExecSegFlags {
  CS_EXECSEG_MAIN_BINARY = 0x1 , CS_EXECSEG_ALLOW_UNSIGNED = 0x10 , CS_EXECSEG_DEBUGGER = 0x20 , CS_EXECSEG_JIT = 0x40 ,
  CS_EXECSEG_SKIP_LV = 0x80 , CS_EXECSEG_CAN_LOAD_CDHASH = 0x100 , CS_EXECSEG_CAN_EXEC_CDHASH = 0x200
}
 
enum  CodeSignMagic {
  CSMAGIC_REQUIREMENT = 0xfade0c00 , CSMAGIC_REQUIREMENTS , CSMAGIC_CODEDIRECTORY = 0xfade0c02 , CSMAGIC_EMBEDDED_SIGNATURE = 0xfade0cc0 ,
  CSMAGIC_EMBEDDED_SIGNATURE_OLD = 0xfade0b02 , CSMAGIC_EMBEDDED_ENTITLEMENTS = 0xfade7171 , CSMAGIC_DETACHED_SIGNATURE , CSMAGIC_BLOBWRAPPER = 0xfade0b01 ,
  CS_SUPPORTSSCATTER = 0x20100 , CS_SUPPORTSTEAMID = 0x20200 , CS_SUPPORTSCODELIMIT64 = 0x20300 , CS_SUPPORTSEXECSEG = 0x20400 ,
  CS_SUPPORTSRUNTIME = 0x20500 , CS_SUPPORTSLINKAGE = 0x20600 , CSSLOT_CODEDIRECTORY = 0 , CSSLOT_INFOSLOT = 1 ,
  CSSLOT_REQUIREMENTS = 2 , CSSLOT_RESOURCEDIR = 3 , CSSLOT_APPLICATION = 4 , CSSLOT_ENTITLEMENTS = 5 ,
  CSSLOT_ALTERNATE_CODEDIRECTORIES , CSSLOT_ALTERNATE_CODEDIRECTORY_MAX = 5 , CSSLOT_ALTERNATE_CODEDIRECTORY_LIMIT , CSSLOT_SIGNATURESLOT = 0x10000 ,
  CSSLOT_IDENTIFICATIONSLOT = 0x10001 , CSSLOT_TICKETSLOT = 0x10002 , CSTYPE_INDEX_REQUIREMENTS = 0x00000002 , CSTYPE_INDEX_ENTITLEMENTS = 0x00000005 ,
  CS_HASHTYPE_SHA1 = 1 , CS_HASHTYPE_SHA256 = 2 , CS_HASHTYPE_SHA256_TRUNCATED = 3 , CS_HASHTYPE_SHA384 = 4 ,
  CS_SHA1_LEN = 20 , CS_SHA256_LEN = 32 , CS_SHA256_TRUNCATED_LEN = 20 , CS_CDHASH_LEN = 20 ,
  CS_HASH_MAX_SIZE = 48 , CS_SIGNER_TYPE_UNKNOWN = 0 , CS_SIGNER_TYPE_LEGACYVPN = 5 , CS_SIGNER_TYPE_MAC_APP_STORE = 6 ,
  CS_SUPPL_SIGNER_TYPE_UNKNOWN = 0 , CS_SUPPL_SIGNER_TYPE_TRUSTCACHE = 7 , CS_SUPPL_SIGNER_TYPE_LOCAL = 8
}
 
enum  SecCSDigestAlgorithm {
  kSecCodeSignatureNoHash = 0 , kSecCodeSignatureHashSHA1 = 1 , kSecCodeSignatureHashSHA256 = 2 , kSecCodeSignatureHashSHA256Truncated ,
  kSecCodeSignatureHashSHA384 = 4 , kSecCodeSignatureHashSHA512 = 5
}
 
enum  LinkerOptimizationHintKind {
  LOH_ARM64_ADRP_ADRP = 1 , LOH_ARM64_ADRP_LDR = 2 , LOH_ARM64_ADRP_ADD_LDR = 3 , LOH_ARM64_ADRP_LDR_GOT_LDR = 4 ,
  LOH_ARM64_ADRP_ADD_STR = 5 , LOH_ARM64_ADRP_LDR_GOT_STR = 6 , LOH_ARM64_ADRP_ADD = 7 , LOH_ARM64_ADRP_LDR_GOT = 8
}
 
enum  Architecture : uint8_t { AK_unknown }
 Defines the architecture slices that are supported by Text-based Stub files. More...
 
enum  FileType : unsigned {
  Invalid = 0U , MachO_DynamicLibrary = 1U << 0 , MachO_DynamicLibrary_Stub = 1U << 1 , MachO_Bundle = 1U << 2 ,
  TBD_V1 = 1U << 3 , TBD_V2 = 1U << 4 , TBD_V3 = 1U << 5 , TBD_V4 = 1U << 6 ,
  TBD_V5 = 1U << 7 , All = ~0U , LLVM_MARK_AS_BITMASK_ENUM =(All)
}
 Defines the file type TextAPI files can represent. More...
 
enum class  ObjCConstraintType : unsigned {
  None = 0 , Retain_Release = 1 , Retain_Release_For_Simulator = 2 , Retain_Release_Or_GC = 3 ,
  GC = 4
}
 Defines a list of Objective-C constraints. More...
 
enum class  RecordLinkage : uint8_t {
  Unknown = 0 , Internal = 1 , Undefined = 2 , Rexported = 3 ,
  Exported = 4
}
 
enum class  SymbolFlags : uint8_t {
  None = 0 , ThreadLocalValue = 1U << 0 , WeakDefined = 1U << 1 , WeakReferenced = 1U << 2 ,
  Undefined = 1U << 3 , Rexported = 1U << 4 , Data = 1U << 5 , Text = 1U << 6 ,
  LLVM_MARK_AS_BITMASK_ENUM =(Text)
}
 Symbol flags. More...
 
enum class  EncodeKind : uint8_t { GlobalSymbol , ObjectiveCClass , ObjectiveCClassEHType , ObjectiveCInstanceVariable }
 Mapping of entry types in TextStubs. More...
 
enum class  ObjCIFSymbolKind : uint8_t {
  None = 0 , Class = 1U << 0 , MetaClass = 1U << 1 , EHType = 1U << 2 ,
  LLVM_MARK_AS_BITMASK_ENUM =(EHType)
}
 ObjC Interface symbol mappings. More...
 
enum class  TextAPIErrorCode {
  NoSuchArchitecture , EmptyResults , GenericFrontendError , InvalidInputFormat ,
  UnsupportedTarget
}
 

Functions

bool isVirtualSection (uint8_t type)
 
void swapStruct (fat_header &mh)
 
void swapStruct (fat_arch &mh)
 
void swapStruct (fat_arch_64 &mh)
 
void swapStruct (mach_header &mh)
 
void swapStruct (mach_header_64 &H)
 
void swapStruct (load_command &lc)
 
void swapStruct (symtab_command &lc)
 
void swapStruct (segment_command_64 &seg)
 
void swapStruct (segment_command &seg)
 
void swapStruct (section_64 &sect)
 
void swapStruct (section &sect)
 
void swapStruct (dyld_info_command &info)
 
void swapStruct (dylib_command &d)
 
void swapStruct (sub_framework_command &s)
 
void swapStruct (sub_umbrella_command &s)
 
void swapStruct (sub_library_command &s)
 
void swapStruct (sub_client_command &s)
 
void swapStruct (routines_command &r)
 
void swapStruct (routines_command_64 &r)
 
void swapStruct (thread_command &t)
 
void swapStruct (dylinker_command &d)
 
void swapStruct (uuid_command &u)
 
void swapStruct (rpath_command &r)
 
void swapStruct (source_version_command &s)
 
void swapStruct (entry_point_command &e)
 
void swapStruct (encryption_info_command &e)
 
void swapStruct (encryption_info_command_64 &e)
 
void swapStruct (dysymtab_command &dst)
 
void swapStruct (any_relocation_info &reloc)
 
void swapStruct (nlist_base &S)
 
void swapStruct (nlist &sym)
 
void swapStruct (nlist_64 &sym)
 
void swapStruct (linkedit_data_command &C)
 
void swapStruct (linker_option_command &C)
 
void swapStruct (fileset_entry_command &C)
 
void swapStruct (version_min_command &C)
 
void swapStruct (note_command &C)
 
void swapStruct (build_version_command &C)
 
void swapStruct (build_tool_version &C)
 
void swapStruct (data_in_code_entry &C)
 
void swapStruct (uint32_t &C)
 
void swapStruct (prebind_cksum_command &C)
 
void swapStruct (twolevel_hints_command &C)
 
void swapStruct (prebound_dylib_command &C)
 
void swapStruct (fvmfile_command &C)
 
void swapStruct (symseg_command &C)
 
void swapStruct (ident_command &C)
 
void swapStruct (fvmlib &C)
 
void swapStruct (fvmlib_command &C)
 
uint16_t GET_LIBRARY_ORDINAL (uint16_t n_desc)
 
void SET_LIBRARY_ORDINAL (uint16_t &n_desc, uint8_t ordinal)
 
uint8_t GET_COMM_ALIGN (uint16_t n_desc)
 
void SET_COMM_ALIGN (uint16_t &n_desc, uint8_t align)
 
int CPU_SUBTYPE_INTEL (int Family, int Model)
 
int CPU_SUBTYPE_INTEL_FAMILY (CPUSubTypeX86 ST)
 
int CPU_SUBTYPE_INTEL_MODEL (CPUSubTypeX86 ST)
 
Expected< uint32_tgetCPUType (const Triple &T)
 
Expected< uint32_tgetCPUSubType (const Triple &T)
 
void swapStruct (x86_thread_state32_t &x)
 
void swapStruct (x86_thread_state64_t &x)
 
void swapStruct (x86_float_state64_t &x)
 
void swapStruct (x86_exception_state64_t &x)
 
void swapStruct (x86_state_hdr_t &x)
 
void swapStruct (x86_thread_state_t &x)
 
void swapStruct (x86_float_state_t &x)
 
void swapStruct (x86_exception_state_t &x)
 
void swapStruct (arm_thread_state32_t &x)
 
void swapStruct (arm_thread_state64_t &x)
 
void swapStruct (arm_state_hdr_t &x)
 
void swapStruct (arm_thread_state_t &x)
 
void swapStruct (ppc_thread_state32_t &x)
 
void swapStruct (ppc_state_hdr_t &x)
 
void swapStruct (ppc_thread_state_t &x)
 
LLVM_PACKED_END void swapStruct (dyld_chained_fixups_header &C)
 
void swapStruct (dyld_chained_starts_in_image &C)
 
void swapStruct (dyld_chained_starts_in_segment &C)
 
Architecture getArchitectureFromCpuType (uint32_t CPUType, uint32_t CPUSubType)
 Convert a CPU Type and Subtype pair to an architecture slice.
 
Architecture getArchitectureFromName (StringRef Name)
 Convert a name to an architecture slice.
 
StringRef getArchitectureName (Architecture Arch)
 Convert an architecture slice to a string.
 
std::pair< uint32_t, uint32_tgetCPUTypeFromArchitecture (Architecture Arch)
 Convert an architecture slice to a CPU Type and Subtype pair.
 
Architecture mapToArchitecture (const llvm::Triple &Target)
 Convert a target to an architecture slice.
 
bool is64Bit (Architecture)
 Check if architecture is 64 bit.
 
raw_ostreamoperator<< (raw_ostream &OS, Architecture Arch)
 
ArchitectureSet operator| (const Architecture &lhs, const Architecture &rhs)
 
raw_ostreamoperator<< (raw_ostream &OS, ArchitectureSet Set)
 
template<typename C >
C::iterator addEntry (C &Container, StringRef InstallName)
 
raw_ostreamoperator<< (raw_ostream &OS, const PackedVersion &Version)
 
PlatformType mapToPlatformType (PlatformType Platform, bool WantSim)
 
PlatformType mapToPlatformType (const Triple &Target)
 
PlatformSet mapToPlatformSet (ArrayRef< Triple > Targets)
 
StringRef getPlatformName (PlatformType Platform)
 
PlatformType getPlatformFromName (StringRef Name)
 
std::string getOSAndEnvironmentName (PlatformType Platform, std::string Version="")
 
VersionTuple mapToSupportedOSVersion (const Triple &Triple)
 
 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()
 
std::unique_ptr< InterfaceFileconvertToInterfaceFile (const Records &Slices)
 
template<typename C >
C::iterator addEntry (C &Container, const Target &Targ)
 
SimpleSymbol parseSymbol (StringRef SymName)
 Get symbol classification by parsing the name of a symbol.
 
bool operator== (const Target &LHS, const Target &RHS)
 
bool operator!= (const Target &LHS, const Target &RHS)
 
bool operator< (const Target &LHS, const Target &RHS)
 
bool operator== (const Target &LHS, const Architecture &RHS)
 
bool operator!= (const Target &LHS, const Architecture &RHS)
 
PlatformVersionSet mapToPlatformVersionSet (ArrayRef< Target > Targets)
 
PlatformSet mapToPlatformSet (ArrayRef< Target > Targets)
 
ArchitectureSet mapToArchitectureSet (ArrayRef< Target > Targets)
 
std::string getTargetTripleName (const Target &Targ)
 
raw_ostreamoperator<< (raw_ostream &OS, const Target &Target)
 
void replace_extension (SmallVectorImpl< char > &Path, const Twine &Extension)
 Replace extension considering frameworks.
 
std::error_code shouldSkipSymLink (const Twine &Path, bool &Result)
 Determine whether to skip over symlink due to either too many symlink levels or is cyclic.
 
std::error_code make_relative (StringRef From, StringRef To, SmallVectorImpl< char > &RelativePath)
 Turn absolute symlink into relative.
 
bool isPrivateLibrary (StringRef Path, bool IsSymLink=false)
 Determine if library is private by parsing file path.
 
llvm::Expected< llvm::RegexcreateRegexFromGlob (llvm::StringRef Glob)
 Create a regex rule from provided glob string.
 
Expected< AliasMapparseAliasList (std::unique_ptr< llvm::MemoryBuffer > &Buffer)
 Parse input list and capture symbols and their alias.
 
PathSeq getPathsForPlatform (const PathToPlatformSeq &Paths, PlatformType Platform)
 Pickup active paths for a given platform.
 
Expected< std::unique_ptr< InterfaceFile > > getInterfaceFileFromJSON (StringRef JSON)
 
Error serializeInterfaceFileToJSON (raw_ostream &OS, const InterfaceFile &File, const FileType FileKind, bool Compact)
 

Variables

const uint32_t x86_THREAD_STATE32_COUNT
 
const uint32_t x86_THREAD_STATE64_COUNT
 
const uint32_t x86_FLOAT_STATE64_COUNT
 
const uint32_t x86_EXCEPTION_STATE64_COUNT
 
const uint32_t x86_THREAD_STATE_COUNT
 
const uint32_t x86_FLOAT_STATE_COUNT
 
const uint32_t x86_EXCEPTION_STATE_COUNT
 
const uint32_t ARM_THREAD_STATE_COUNT
 
const uint32_t ARM_THREAD_STATE64_COUNT
 
const uint32_t PPC_THREAD_STATE_COUNT
 
constexpr StringLiteral ObjC1ClassNamePrefix = ".objc_class_name_"
 
constexpr StringLiteral ObjC2ClassNamePrefix = "_OBJC_CLASS_$_"
 
constexpr StringLiteral ObjC2MetaClassNamePrefix = "_OBJC_METACLASS_$_"
 
constexpr StringLiteral ObjC2EHTypePrefix = "_OBJC_EHTYPE_$_"
 
constexpr StringLiteral ObjC2IVarPrefix = "_OBJC_IVAR_$_"
 

Typedef Documentation

◆ AliasEntry

using llvm::MachO::AliasEntry = typedef std::pair<std::string, EncodeKind>

Definition at line 83 of file Utils.h.

◆ AliasMap

using llvm::MachO::AliasMap = typedef std::map<AliasEntry, AliasEntry>

Definition at line 84 of file Utils.h.

◆ PathSeq

using llvm::MachO::PathSeq = typedef std::vector<std::string>

Definition at line 34 of file Utils.h.

◆ PathToPlatform

using llvm::MachO::PathToPlatform = typedef std::pair<std::string, std::optional<PlatformType> >

Definition at line 35 of file Utils.h.

◆ PathToPlatformSeq

using llvm::MachO::PathToPlatformSeq = typedef std::vector<PathToPlatform>

Definition at line 36 of file Utils.h.

◆ PlatformSet

Definition at line 22 of file Platform.h.

◆ PlatformVersionSet

Definition at line 23 of file Platform.h.

◆ RecordMap

template<typename V , typename K = StringRef, typename std::enable_if< std::is_base_of< Record, V >::value >::type * = nullptr>
using llvm::MachO::RecordMap = typedef llvm::MapVector<K, std::unique_ptr<V> >

Definition at line 158 of file Record.h.

◆ Records

using llvm::MachO::Records = typedef llvm::SmallVector<std::shared_ptr<RecordsSlice>, 4>

Definition at line 197 of file RecordsSlice.h.

◆ TargetList

Definition at line 81 of file Symbol.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
MH_MAGIC 
MH_CIGAM 
MH_MAGIC_64 
MH_CIGAM_64 
FAT_MAGIC 
FAT_CIGAM 
FAT_MAGIC_64 
FAT_CIGAM_64 

Definition at line 27 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
MH_NOUNDEFS 
MH_INCRLINK 
MH_DYLDLINK 
MH_BINDATLOAD 
MH_PREBOUND 
MH_SPLIT_SEGS 
MH_LAZY_INIT 
MH_TWOLEVEL 
MH_FORCE_FLAT 
MH_NOMULTIDEFS 
MH_NOFIXPREBINDING 
MH_PREBINDABLE 
MH_ALLMODSBOUND 
MH_SUBSECTIONS_VIA_SYMBOLS 
MH_CANONICAL 
MH_WEAK_DEFINES 
MH_BINDS_TO_WEAK 
MH_ALLOW_STACK_EXECUTION 
MH_ROOT_SAFE 
MH_SETUID_SAFE 
MH_NO_REEXPORTED_DYLIBS 
MH_PIE 
MH_DEAD_STRIPPABLE_DYLIB 
MH_HAS_TLV_DESCRIPTORS 
MH_NO_HEAP_EXECUTION 
MH_APP_EXTENSION_SAFE 
MH_NLIST_OUTOFSYNC_WITH_DYLDINFO 
MH_SIM_SUPPORT 
MH_DYLIB_IN_CACHE 

Definition at line 57 of file MachO.h.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
LC_REQ_DYLD 

Definition at line 91 of file MachO.h.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
SG_HIGHVM 
SG_FVMLIB 
SG_NORELOC 
SG_PROTECTED_VERSION_1 
SG_READ_ONLY 
SECTION_TYPE 
SECTION_ATTRIBUTES 
SECTION_ATTRIBUTES_USR 
SECTION_ATTRIBUTES_SYS 

Definition at line 104 of file MachO.h.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
S_ATTR_PURE_INSTRUCTIONS 

S_ATTR_PURE_INSTRUCTIONS - Section contains only true machine instructions.

S_ATTR_NO_TOC 

S_ATTR_NO_TOC - Section contains coalesced symbols that are not to be in a ranlib table of contents.

S_ATTR_STRIP_STATIC_SYMS 

S_ATTR_STRIP_STATIC_SYMS - Ok to strip static symbols in this section in files with the MY_DYLDLINK flag.

S_ATTR_NO_DEAD_STRIP 

S_ATTR_NO_DEAD_STRIP - No dead stripping.

S_ATTR_LIVE_SUPPORT 

S_ATTR_LIVE_SUPPORT - Blocks are live if they reference live blocks.

S_ATTR_SELF_MODIFYING_CODE 

S_ATTR_SELF_MODIFYING_CODE - Used with i386 code stubs written on by dyld.

S_ATTR_DEBUG 

S_ATTR_DEBUG - A debug section.

S_ATTR_SOME_INSTRUCTIONS 

S_ATTR_SOME_INSTRUCTIONS - Section contains some machine instructions.

S_ATTR_EXT_RELOC 

S_ATTR_EXT_RELOC - Section has external relocation entries.

S_ATTR_LOC_RELOC 

S_ATTR_LOC_RELOC - Section has local relocation entries.

INDIRECT_SYMBOL_LOCAL 
INDIRECT_SYMBOL_ABS 

Definition at line 186 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
REBASE_OPCODE_MASK 
REBASE_IMMEDIATE_MASK 

Definition at line 240 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
BIND_SYMBOL_FLAGS_WEAK_IMPORT 
BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION 
BIND_OPCODE_MASK 
BIND_IMMEDIATE_MASK 

Definition at line 267 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
EXPORT_SYMBOL_FLAGS_KIND_MASK 
EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION 
EXPORT_SYMBOL_FLAGS_REEXPORT 
EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER 

Definition at line 291 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
N_STAB 
N_PEXT 
N_TYPE 
N_EXT 

Definition at line 304 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
REFERENCE_TYPE 
REFERENCE_FLAG_UNDEFINED_NON_LAZY 
REFERENCE_FLAG_UNDEFINED_LAZY 
REFERENCE_FLAG_DEFINED 
REFERENCE_FLAG_PRIVATE_DEFINED 
REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY 
REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY 
N_ARM_THUMB_DEF 
REFERENCED_DYNAMICALLY 
N_NO_DEAD_STRIP 
N_WEAK_REF 
N_WEAK_DEF 
N_SYMBOL_RESOLVER 
N_ALT_ENTRY 
N_COLD_FUNC 
SELF_LIBRARY_ORDINAL 
MAX_LIBRARY_ORDINAL 
DYNAMIC_LOOKUP_ORDINAL 
EXECUTABLE_ORDINAL 

Definition at line 330 of file MachO.h.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
R_ABS 
R_SCATTERED 

Definition at line 395 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
VM_PROT_READ 
VM_PROT_WRITE 
VM_PROT_EXECUTE 

Definition at line 497 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
TOOL_CLANG 
TOOL_SWIFT 
TOOL_LD 
TOOL_LLD 

Definition at line 508 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
DYLD_CHAINED_SYMBOL_UNCOMPRESSED 
DYLD_CHAINED_SYMBOL_ZLIB 

Definition at line 1033 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
DYLD_CHAINED_PTR_START_NONE 
DYLD_CHAINED_PTR_START_MULTI 
DYLD_CHAINED_PTR_START_LAST 

Definition at line 1039 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
DYLD_CHAINED_PTR_ARM64E 
DYLD_CHAINED_PTR_64 
DYLD_CHAINED_PTR_32 
DYLD_CHAINED_PTR_32_CACHE 
DYLD_CHAINED_PTR_32_FIRMWARE 
DYLD_CHAINED_PTR_64_OFFSET 
DYLD_CHAINED_PTR_ARM64E_KERNEL 
DYLD_CHAINED_PTR_64_KERNEL_CACHE 
DYLD_CHAINED_PTR_ARM64E_USERLAND 
DYLD_CHAINED_PTR_ARM64E_FIRMWARE 
DYLD_CHAINED_PTR_X86_64_KERNEL_CACHE 
DYLD_CHAINED_PTR_ARM64E_USERLAND24 

Definition at line 1046 of file MachO.h.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
CPU_ARCH_MASK 
CPU_ARCH_ABI64 
CPU_ARCH_ABI64_32 

Definition at line 1554 of file MachO.h.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
CPU_SUBTYPE_MASK 
CPU_SUBTYPE_LIB64 
CPU_SUBTYPE_MULTIPLE 

Definition at line 1577 of file MachO.h.

◆ anonymous enum

anonymous enum
Enumerator
CPU_SUBTYPE_INTEL_FAMILY_MAX 
CPU_SUBTYPE_INTEL_MODEL_ALL 

Definition at line 1622 of file MachO.h.

◆ Architecture

enum llvm::MachO::Architecture : uint8_t

Defines the architecture slices that are supported by Text-based Stub files.

Enumerator
AK_unknown 

Definition at line 27 of file Architecture.h.

◆ ARMThreadFlavors

Enumerator
ARM_THREAD_STATE 
ARM_VFP_STATE 
ARM_EXCEPTION_STATE 
ARM_DEBUG_STATE 
ARN_THREAD_STATE_NONE 
ARM_THREAD_STATE64 
ARM_EXCEPTION_STATE64 

Definition at line 2001 of file MachO.h.

◆ BindOpcode

Enumerator
BIND_OPCODE_DONE 
BIND_OPCODE_SET_DYLIB_ORDINAL_IMM 
BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB 
BIND_OPCODE_SET_DYLIB_SPECIAL_IMM 
BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM 
BIND_OPCODE_SET_TYPE_IMM 
BIND_OPCODE_SET_ADDEND_SLEB 
BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 
BIND_OPCODE_ADD_ADDR_ULEB 
BIND_OPCODE_DO_BIND 
BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB 
BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED 
BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB 

Definition at line 275 of file MachO.h.

◆ BindSpecialDylib

Enumerator
BIND_SPECIAL_DYLIB_SELF 
BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE 
BIND_SPECIAL_DYLIB_FLAT_LOOKUP 
BIND_SPECIAL_DYLIB_WEAK_LOOKUP 

Definition at line 260 of file MachO.h.

◆ BindType

Enumerator
BIND_TYPE_POINTER 
BIND_TYPE_TEXT_ABSOLUTE32 
BIND_TYPE_TEXT_PCREL32 

Definition at line 254 of file MachO.h.

◆ ChainedImportFormat

Enumerator
DYLD_CHAINED_IMPORT 
DYLD_CHAINED_IMPORT_ADDEND 
DYLD_CHAINED_IMPORT_ADDEND64 

Definition at line 1026 of file MachO.h.

◆ CodeSignAttrs

Enumerator
CS_VALID 
CS_ADHOC 
CS_GET_TASK_ALLOW 
CS_INSTALLER 
CS_FORCED_LV 
CS_INVALID_ALLOWED 
CS_HARD 
CS_KILL 
CS_CHECK_EXPIRATION 
CS_RESTRICT 
CS_ENFORCEMENT 
CS_REQUIRE_LV 
CS_ENTITLEMENTS_VALIDATED 
CS_NVRAM_UNRESTRICTED 
CS_RUNTIME 
CS_LINKER_SIGNED 
CS_ALLOWED_MACHO 
CS_EXEC_SET_HARD 
CS_EXEC_SET_KILL 
CS_EXEC_SET_ENFORCEMENT 
CS_EXEC_INHERIT_SIP 
CS_KILLED 
CS_DYLD_PLATFORM 
CS_PLATFORM_BINARY 
CS_PLATFORM_PATH 
CS_DEBUGGED 
CS_SIGNED 
CS_DEV_CODE 
CS_DATAVAULT_CONTROLLER 
CS_ENTITLEMENT_FLAGS 

Definition at line 2182 of file MachO.h.

◆ CodeSignExecSegFlags

Enumerator
CS_EXECSEG_MAIN_BINARY 
CS_EXECSEG_ALLOW_UNSIGNED 
CS_EXECSEG_DEBUGGER 
CS_EXECSEG_JIT 
CS_EXECSEG_SKIP_LV 
CS_EXECSEG_CAN_LOAD_CDHASH 
CS_EXECSEG_CAN_EXEC_CDHASH 

Definition at line 2242 of file MachO.h.

◆ CodeSignMagic

Enumerator
CSMAGIC_REQUIREMENT 
CSMAGIC_REQUIREMENTS 
CSMAGIC_CODEDIRECTORY 
CSMAGIC_EMBEDDED_SIGNATURE 
CSMAGIC_EMBEDDED_SIGNATURE_OLD 
CSMAGIC_EMBEDDED_ENTITLEMENTS 
CSMAGIC_DETACHED_SIGNATURE 
CSMAGIC_BLOBWRAPPER 
CS_SUPPORTSSCATTER 
CS_SUPPORTSTEAMID 
CS_SUPPORTSCODELIMIT64 
CS_SUPPORTSEXECSEG 
CS_SUPPORTSRUNTIME 
CS_SUPPORTSLINKAGE 
CSSLOT_CODEDIRECTORY 
CSSLOT_INFOSLOT 
CSSLOT_REQUIREMENTS 
CSSLOT_RESOURCEDIR 
CSSLOT_APPLICATION 
CSSLOT_ENTITLEMENTS 
CSSLOT_ALTERNATE_CODEDIRECTORIES 
CSSLOT_ALTERNATE_CODEDIRECTORY_MAX 
CSSLOT_ALTERNATE_CODEDIRECTORY_LIMIT 
CSSLOT_SIGNATURESLOT 
CSSLOT_IDENTIFICATIONSLOT 
CSSLOT_TICKETSLOT 
CSTYPE_INDEX_REQUIREMENTS 
CSTYPE_INDEX_ENTITLEMENTS 
CS_HASHTYPE_SHA1 
CS_HASHTYPE_SHA256 
CS_HASHTYPE_SHA256_TRUNCATED 
CS_HASHTYPE_SHA384 
CS_SHA1_LEN 
CS_SHA256_LEN 
CS_SHA256_TRUNCATED_LEN 
CS_CDHASH_LEN 
CS_HASH_MAX_SIZE 
CS_SIGNER_TYPE_UNKNOWN 
CS_SIGNER_TYPE_LEGACYVPN 
CS_SIGNER_TYPE_MAC_APP_STORE 
CS_SUPPL_SIGNER_TYPE_UNKNOWN 
CS_SUPPL_SIGNER_TYPE_TRUSTCACHE 
CS_SUPPL_SIGNER_TYPE_LOCAL 

Definition at line 2256 of file MachO.h.

◆ CPUSubTypeARM

Enumerator
CPU_SUBTYPE_ARM_ALL 
CPU_SUBTYPE_ARM_V4T 
CPU_SUBTYPE_ARM_V6 
CPU_SUBTYPE_ARM_V5 
CPU_SUBTYPE_ARM_V5TEJ 
CPU_SUBTYPE_ARM_XSCALE 
CPU_SUBTYPE_ARM_V7 
CPU_SUBTYPE_ARM_V7S 
CPU_SUBTYPE_ARM_V7K 
CPU_SUBTYPE_ARM_V6M 
CPU_SUBTYPE_ARM_V7M 
CPU_SUBTYPE_ARM_V7EM 

Definition at line 1624 of file MachO.h.

◆ CPUSubTypeARM64

Enumerator
CPU_SUBTYPE_ARM64_ALL 
CPU_SUBTYPE_ARM64_V8 
CPU_SUBTYPE_ARM64E 

Definition at line 1640 of file MachO.h.

◆ CPUSubTypeARM64_32

Enumerator
CPU_SUBTYPE_ARM64_32_V8 

Definition at line 1646 of file MachO.h.

◆ CPUSubTypePowerPC

Enumerator
CPU_SUBTYPE_POWERPC_ALL 
CPU_SUBTYPE_POWERPC_601 
CPU_SUBTYPE_POWERPC_602 
CPU_SUBTYPE_POWERPC_603 
CPU_SUBTYPE_POWERPC_603e 
CPU_SUBTYPE_POWERPC_603ev 
CPU_SUBTYPE_POWERPC_604 
CPU_SUBTYPE_POWERPC_604e 
CPU_SUBTYPE_POWERPC_620 
CPU_SUBTYPE_POWERPC_750 
CPU_SUBTYPE_POWERPC_7400 
CPU_SUBTYPE_POWERPC_7450 
CPU_SUBTYPE_POWERPC_970 
CPU_SUBTYPE_MC980000_ALL 
CPU_SUBTYPE_MC98601 

Definition at line 1650 of file MachO.h.

◆ CPUSubTypeSPARC

Enumerator
CPU_SUBTYPE_SPARC_ALL 

Definition at line 1648 of file MachO.h.

◆ CPUSubTypeX86

Enumerator
CPU_SUBTYPE_I386_ALL 
CPU_SUBTYPE_386 
CPU_SUBTYPE_486 
CPU_SUBTYPE_486SX 
CPU_SUBTYPE_586 
CPU_SUBTYPE_PENT 
CPU_SUBTYPE_PENTPRO 
CPU_SUBTYPE_PENTII_M3 
CPU_SUBTYPE_PENTII_M5 
CPU_SUBTYPE_CELERON 
CPU_SUBTYPE_CELERON_MOBILE 
CPU_SUBTYPE_PENTIUM_3 
CPU_SUBTYPE_PENTIUM_3_M 
CPU_SUBTYPE_PENTIUM_3_XEON 
CPU_SUBTYPE_PENTIUM_M 
CPU_SUBTYPE_PENTIUM_4 
CPU_SUBTYPE_PENTIUM_4_M 
CPU_SUBTYPE_ITANIUM 
CPU_SUBTYPE_ITANIUM_2 
CPU_SUBTYPE_XEON 
CPU_SUBTYPE_XEON_MP 
CPU_SUBTYPE_X86_ALL 
CPU_SUBTYPE_X86_64_ALL 
CPU_SUBTYPE_X86_ARCH1 
CPU_SUBTYPE_X86_64_H 

Definition at line 1587 of file MachO.h.

◆ CPUType

Enumerator
CPU_TYPE_ANY 
CPU_TYPE_X86 
CPU_TYPE_I386 
CPU_TYPE_X86_64 
CPU_TYPE_MC98000 
CPU_TYPE_ARM 
CPU_TYPE_ARM64 
CPU_TYPE_ARM64_32 
CPU_TYPE_SPARC 
CPU_TYPE_POWERPC 
CPU_TYPE_POWERPC64 

Definition at line 1562 of file MachO.h.

◆ DataRegionType

Enumerator
DICE_KIND_DATA 
DICE_KIND_JUMP_TABLE8 
DICE_KIND_JUMP_TABLE16 
DICE_KIND_JUMP_TABLE32 
DICE_KIND_ABS_JUMP_TABLE32 

Definition at line 225 of file MachO.h.

◆ EncodeKind

enum class llvm::MachO::EncodeKind : uint8_t
strong

Mapping of entry types in TextStubs.

Enumerator
GlobalSymbol 
ObjectiveCClass 
ObjectiveCClassEHType 
ObjectiveCInstanceVariable 

Definition at line 55 of file Symbol.h.

◆ ExportSymbolKind

Enumerator
EXPORT_SYMBOL_FLAGS_KIND_REGULAR 
EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL 
EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE 

Definition at line 298 of file MachO.h.

◆ FileType

Defines the file type TextAPI files can represent.

Enumerator
Invalid 

Invalid file type.

MachO_DynamicLibrary 

MachO Dynamic Library file.

MachO_DynamicLibrary_Stub 

MachO Dynamic Library Stub file.

MachO_Bundle 

MachO Bundle file.

TBD_V1 

Text-based stub file (.tbd) version 1.0.

TBD_V2 

Text-based stub file (.tbd) version 2.0.

TBD_V3 

Text-based stub file (.tbd) version 3.0.

TBD_V4 

Text-based stub file (.tbd) version 4.0.

TBD_V5 

Text-based stub file (.tbd) version 5.0.

All 
LLVM_MARK_AS_BITMASK_ENUM 

Definition at line 15 of file FileTypes.h.

◆ HeaderFileType

Enumerator
MH_OBJECT 
MH_EXECUTE 
MH_FVMLIB 
MH_CORE 
MH_PRELOAD 
MH_DYLIB 
MH_DYLINKER 
MH_BUNDLE 
MH_DYLIB_STUB 
MH_DSYM 
MH_KEXT_BUNDLE 
MH_FILESET 

Definition at line 40 of file MachO.h.

◆ LinkerOptimizationHintKind

Enumerator
LOH_ARM64_ADRP_ADRP 
LOH_ARM64_ADRP_LDR 
LOH_ARM64_ADRP_ADD_LDR 
LOH_ARM64_ADRP_LDR_GOT_LDR 
LOH_ARM64_ADRP_ADD_STR 
LOH_ARM64_ADRP_LDR_GOT_STR 
LOH_ARM64_ADRP_ADD 
LOH_ARM64_ADRP_LDR_GOT 

Definition at line 2377 of file MachO.h.

◆ LoadCommandType

Definition at line 98 of file MachO.h.

◆ NListType

enum llvm::MachO::NListType : uint8_t
Enumerator
N_UNDF 
N_ABS 
N_SECT 
N_PBUD 
N_INDR 

Definition at line 313 of file MachO.h.

◆ ObjCConstraintType

Defines a list of Objective-C constraints.

Enumerator
None 

No constraint.

Retain_Release 

Retain/Release.

Retain_Release_For_Simulator 

Retain/Release for Simulator.

Retain_Release_Or_GC 

Retain/Release or Garbage Collection.

GC 

Garbage Collection.

Definition at line 34 of file InterfaceFile.h.

◆ ObjCIFSymbolKind

enum class llvm::MachO::ObjCIFSymbolKind : uint8_t
strong

ObjC Interface symbol mappings.

Enumerator
None 
Class 

Is OBJC_CLASS* symbol.

MetaClass 

Is OBJC_METACLASS* symbol.

EHType 

Is OBJC_EHTYPE* symbol.

LLVM_MARK_AS_BITMASK_ENUM 

Definition at line 69 of file Symbol.h.

◆ PlatformType

Definition at line 500 of file MachO.h.

◆ PPCThreadFlavors

Enumerator
PPC_THREAD_STATE 
PPC_FLOAT_STATE 
PPC_EXCEPTION_STATE 
PPC_VECTOR_STATE 
PPC_THREAD_STATE64 
PPC_EXCEPTION_STATE64 
PPC_THREAD_STATE_NONE 

Definition at line 2126 of file MachO.h.

◆ RebaseOpcode

Enumerator
REBASE_OPCODE_DONE 
REBASE_OPCODE_SET_TYPE_IMM 
REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 
REBASE_OPCODE_ADD_ADDR_ULEB 
REBASE_OPCODE_ADD_ADDR_IMM_SCALED 
REBASE_OPCODE_DO_REBASE_IMM_TIMES 
REBASE_OPCODE_DO_REBASE_ULEB_TIMES 
REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB 
REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB 

Definition at line 242 of file MachO.h.

◆ RebaseType

Enumerator
REBASE_TYPE_POINTER 
REBASE_TYPE_TEXT_ABSOLUTE32 
REBASE_TYPE_TEXT_PCREL32 

Definition at line 234 of file MachO.h.

◆ RecordLinkage

enum class llvm::MachO::RecordLinkage : uint8_t
strong
Enumerator
Unknown 
Internal 
Undefined 
Rexported 
Exported 

Definition at line 48 of file Record.h.

◆ RelocationInfoType

Enumerator
GENERIC_RELOC_INVALID 
GENERIC_RELOC_VANILLA 
GENERIC_RELOC_PAIR 
GENERIC_RELOC_SECTDIFF 
GENERIC_RELOC_PB_LA_PTR 
GENERIC_RELOC_LOCAL_SECTDIFF 
GENERIC_RELOC_TLV 
PPC_RELOC_VANILLA 
PPC_RELOC_PAIR 
PPC_RELOC_BR14 
PPC_RELOC_BR24 
PPC_RELOC_HI16 
PPC_RELOC_LO16 
PPC_RELOC_HA16 
PPC_RELOC_LO14 
PPC_RELOC_SECTDIFF 
PPC_RELOC_PB_LA_PTR 
PPC_RELOC_HI16_SECTDIFF 
PPC_RELOC_LO16_SECTDIFF 
PPC_RELOC_HA16_SECTDIFF 
PPC_RELOC_JBSR 
PPC_RELOC_LO14_SECTDIFF 
PPC_RELOC_LOCAL_SECTDIFF 
ARM_RELOC_VANILLA 
ARM_RELOC_PAIR 
ARM_RELOC_SECTDIFF 
ARM_RELOC_LOCAL_SECTDIFF 
ARM_RELOC_PB_LA_PTR 
ARM_RELOC_BR24 
ARM_THUMB_RELOC_BR22 
ARM_THUMB_32BIT_BRANCH 
ARM_RELOC_HALF 
ARM_RELOC_HALF_SECTDIFF 
ARM64_RELOC_UNSIGNED 
ARM64_RELOC_SUBTRACTOR 
ARM64_RELOC_BRANCH26 
ARM64_RELOC_PAGE21 
ARM64_RELOC_PAGEOFF12 
ARM64_RELOC_GOT_LOAD_PAGE21 
ARM64_RELOC_GOT_LOAD_PAGEOFF12 
ARM64_RELOC_POINTER_TO_GOT 
ARM64_RELOC_TLVP_LOAD_PAGE21 
ARM64_RELOC_TLVP_LOAD_PAGEOFF12 
ARM64_RELOC_ADDEND 
ARM64_RELOC_AUTHENTICATED_POINTER 
X86_64_RELOC_UNSIGNED 
X86_64_RELOC_SIGNED 
X86_64_RELOC_BRANCH 
X86_64_RELOC_GOT_LOAD 
X86_64_RELOC_GOT 
X86_64_RELOC_SUBTRACTOR 
X86_64_RELOC_SIGNED_1 
X86_64_RELOC_SIGNED_2 
X86_64_RELOC_SIGNED_4 
X86_64_RELOC_TLV 

Definition at line 405 of file MachO.h.

◆ SecCSDigestAlgorithm

Enumerator
kSecCodeSignatureNoHash 
kSecCodeSignatureHashSHA1 
kSecCodeSignatureHashSHA256 
kSecCodeSignatureHashSHA256Truncated 
kSecCodeSignatureHashSHA384 
kSecCodeSignatureHashSHA512 

Definition at line 2367 of file MachO.h.

◆ SectionOrdinal

Enumerator
NO_SECT 
MAX_SECT 

Definition at line 323 of file MachO.h.

◆ SectionType

These are the section type and attributes fields.

A MachO section can have only one Type, but can have any of the attributes specified.

Enumerator
S_REGULAR 

S_REGULAR - Regular section.

S_ZEROFILL 

S_ZEROFILL - Zero fill on demand section.

S_CSTRING_LITERALS 

S_CSTRING_LITERALS - Section with literal C strings.

S_4BYTE_LITERALS 

S_4BYTE_LITERALS - Section with 4 byte literals.

S_8BYTE_LITERALS 

S_8BYTE_LITERALS - Section with 8 byte literals.

S_LITERAL_POINTERS 

S_LITERAL_POINTERS - Section with pointers to literals.

S_NON_LAZY_SYMBOL_POINTERS 

S_NON_LAZY_SYMBOL_POINTERS - Section with non-lazy symbol pointers.

S_LAZY_SYMBOL_POINTERS 

S_LAZY_SYMBOL_POINTERS - Section with lazy symbol pointers.

S_SYMBOL_STUBS 

S_SYMBOL_STUBS - Section with symbol stubs, byte size of stub in the Reserved2 field.

S_MOD_INIT_FUNC_POINTERS 

S_MOD_INIT_FUNC_POINTERS - Section with only function pointers for initialization.

S_MOD_TERM_FUNC_POINTERS 

S_MOD_TERM_FUNC_POINTERS - Section with only function pointers for termination.

S_COALESCED 

S_COALESCED - Section contains symbols that are to be coalesced.

S_GB_ZEROFILL 

S_GB_ZEROFILL - Zero fill on demand section (that can be larger than 4 gigabytes).

S_INTERPOSING 

S_INTERPOSING - Section with only pairs of function pointers for interposing.

S_16BYTE_LITERALS 

S_16BYTE_LITERALS - Section with only 16 byte literals.

S_DTRACE_DOF 

S_DTRACE_DOF - Section contains DTrace Object Format.

S_LAZY_DYLIB_SYMBOL_POINTERS 

S_LAZY_DYLIB_SYMBOL_POINTERS - Section with lazy symbol pointers to lazy loaded dylibs.

S_THREAD_LOCAL_REGULAR 

S_THREAD_LOCAL_REGULAR - Thread local data section.

S_THREAD_LOCAL_ZEROFILL 

S_THREAD_LOCAL_ZEROFILL - Thread local zerofill section.

S_THREAD_LOCAL_VARIABLES 

S_THREAD_LOCAL_VARIABLES - Section with thread local variable structure data.

S_THREAD_LOCAL_VARIABLE_POINTERS 

S_THREAD_LOCAL_VARIABLE_POINTERS - Section with pointers to thread local structures.

S_THREAD_LOCAL_INIT_FUNCTION_POINTERS 

S_THREAD_LOCAL_INIT_FUNCTION_POINTERS - Section with thread local variable initialization pointers to functions.

S_INIT_FUNC_OFFSETS 

S_INIT_FUNC_OFFSETS - Section with 32-bit offsets to initializer functions.

LAST_KNOWN_SECTION_TYPE 

Definition at line 122 of file MachO.h.

◆ StabType

Enumerator
N_GSYM 
N_FNAME 
N_FUN 
N_STSYM 
N_LCSYM 
N_BNSYM 
N_PC 
N_AST 
N_OPT 
N_RSYM 
N_SLINE 
N_ENSYM 
N_SSYM 
N_SO 
N_OSO 
N_LIB 
N_LSYM 
N_BINCL 
N_SOL 
N_PARAMS 
N_VERSION 
N_OLEVEL 
N_PSYM 
N_EINCL 
N_ENTRY 
N_LBRAC 
N_EXCL 
N_RBRAC 
N_BCOMM 
N_ECOMM 
N_ECOML 
N_LENG 

Definition at line 358 of file MachO.h.

◆ SymbolFlags

enum class llvm::MachO::SymbolFlags : uint8_t
strong

Symbol flags.

Enumerator
None 

No flags.

ThreadLocalValue 

Thread-local value symbol.

WeakDefined 

Weak defined symbol.

WeakReferenced 

Weak referenced symbol.

Undefined 

Undefined.

Rexported 

Rexported.

Data 

Data Segment

Text 

Text Segment.

LLVM_MARK_AS_BITMASK_ENUM 

Definition at line 24 of file Symbol.h.

◆ TextAPIErrorCode

enum class llvm::MachO::TextAPIErrorCode
strong
Enumerator
NoSuchArchitecture 
EmptyResults 
GenericFrontendError 
InvalidInputFormat 
UnsupportedTarget 

Definition at line 20 of file TextAPIError.h.

◆ x86_fp_control_precis

Enumerator
x86_FP_PREC_24B 
x86_FP_PREC_53B 
x86_FP_PREC_64B 

Definition at line 1715 of file MachO.h.

◆ x86_fp_control_rc

Enumerator
x86_FP_RND_NEAR 
x86_FP_RND_DOWN 
x86_FP_RND_UP 
x86_FP_CHOP 

Definition at line 1721 of file MachO.h.

◆ X86ThreadFlavors

Enumerator
x86_THREAD_STATE32 
x86_FLOAT_STATE32 
x86_EXCEPTION_STATE32 
x86_THREAD_STATE64 
x86_FLOAT_STATE64 
x86_EXCEPTION_STATE64 
x86_THREAD_STATE 
x86_FLOAT_STATE 
x86_EXCEPTION_STATE 
x86_DEBUG_STATE32 
x86_DEBUG_STATE64 
x86_DEBUG_STATE 

Definition at line 1897 of file MachO.h.

Function Documentation

◆ addEntry() [1/2]

template<typename C >
C::iterator llvm::MachO::addEntry ( C Container,
const Target Targ 
)

Definition at line 85 of file Symbol.h.

References LHS, llvm::lower_bound(), and RHS.

◆ addEntry() [2/2]

template<typename C >
C::iterator llvm::MachO::addEntry ( C Container,
StringRef  InstallName 
)

◆ convertToInterfaceFile()

std::unique_ptr< InterfaceFile > llvm::MachO::convertToInterfaceFile ( const Records Slices)

◆ CPU_SUBTYPE_INTEL()

int llvm::MachO::CPU_SUBTYPE_INTEL ( int  Family,
int  Model 
)
inline

Definition at line 1615 of file MachO.h.

◆ CPU_SUBTYPE_INTEL_FAMILY()

int llvm::MachO::CPU_SUBTYPE_INTEL_FAMILY ( CPUSubTypeX86  ST)
inline

Definition at line 1618 of file MachO.h.

◆ CPU_SUBTYPE_INTEL_MODEL()

int llvm::MachO::CPU_SUBTYPE_INTEL_MODEL ( CPUSubTypeX86  ST)
inline

Definition at line 1621 of file MachO.h.

◆ createRegexFromGlob()

llvm::Expected< Regex > llvm::MachO::createRegexFromGlob ( llvm::StringRef  Glob)

Create a regex rule from provided glob string.

Parameters
GlobString that represents glob input.
Returns
The equivalent regex rule.

Definition at line 160 of file Utils.cpp.

References llvm::CallingConv::C, llvm::StringRef::contains(), llvm::StringRef::data(), llvm::inconvertibleErrorCode(), llvm::Regex::isValid(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), RegexMetachars, and llvm::StringRef::size().

◆ GET_COMM_ALIGN()

uint8_t llvm::MachO::GET_COMM_ALIGN ( uint16_t  n_desc)
inline

Definition at line 1545 of file MachO.h.

Referenced by llvm::object::MachOObjectFile::getSymbolAlignment().

◆ GET_LIBRARY_ORDINAL()

uint16_t llvm::MachO::GET_LIBRARY_ORDINAL ( uint16_t  n_desc)
inline

Definition at line 1537 of file MachO.h.

Referenced by llvm::object::MachOObjectFile::checkSymbolTable().

◆ getArchitectureFromCpuType()

Architecture llvm::MachO::getArchitectureFromCpuType ( uint32_t  CPUType,
uint32_t  CPUSubType 
)

Convert a CPU Type and Subtype pair to an architecture slice.

Definition at line 23 of file Architecture.cpp.

References AK_unknown.

Referenced by llvm::MachO::DylibReader::readFile().

◆ getArchitectureFromName()

Architecture llvm::MachO::getArchitectureFromName ( StringRef  Name)

Convert a name to an architecture slice.

Definition at line 34 of file Architecture.cpp.

References AK_unknown, llvm::StringSwitch< T, R >::Default(), and Name.

Referenced by llvm::MachO::Target::create(), and mapToArchitecture().

◆ getArchitectureName()

StringRef llvm::MachO::getArchitectureName ( Architecture  Arch)

◆ getCPUSubType()

Expected< uint32_t > llvm::MachO::getCPUSubType ( const Triple T)

◆ getCPUType()

Expected< uint32_t > llvm::MachO::getCPUType ( const Triple T)

◆ getCPUTypeFromArchitecture()

std::pair< uint32_t, uint32_t > llvm::MachO::getCPUTypeFromArchitecture ( Architecture  Arch)

Convert an architecture slice to a CPU Type and Subtype pair.

Definition at line 58 of file Architecture.cpp.

References AK_unknown.

Referenced by llvm::object::TapiUniversal::ObjectForArch::getCPUSubType(), and llvm::object::TapiUniversal::ObjectForArch::getCPUType().

◆ getInterfaceFileFromJSON()

Expected< std::unique_ptr< InterfaceFile > > llvm::MachO::getInterfaceFileFromJSON ( StringRef  JSON)

Definition at line 709 of file TextStubV5.cpp.

References llvm::json::Object::getObject().

Referenced by llvm::MachO::TextAPIReader::get().

◆ getOSAndEnvironmentName()

std::string llvm::MachO::getOSAndEnvironmentName ( PlatformType  Platform,
std::string  Version = "" 
)

Definition at line 90 of file Platform.cpp.

References llvm_unreachable, and llvm::Version.

Referenced by getTargetTripleName().

◆ getPathsForPlatform()

PathSeq llvm::MachO::getPathsForPlatform ( const PathToPlatformSeq Paths,
PlatformType  Platform 
)

Pickup active paths for a given platform.

Parameters
PathsFile or search paths to pick up.
PlatformPlatform to collect paths for.

Definition at line 236 of file Utils.cpp.

◆ getPlatformFromName()

PlatformType llvm::MachO::getPlatformFromName ( StringRef  Name)

◆ getPlatformName()

StringRef llvm::MachO::getPlatformName ( PlatformType  Platform)

Definition at line 69 of file Platform.cpp.

References llvm_unreachable.

Referenced by llvm::MachO::Target::operator std::string().

◆ getTargetTripleName()

std::string llvm::MachO::getTargetTripleName ( const Target Targ)

◆ is64Bit()

bool llvm::MachO::is64Bit ( Architecture  Arch)

Check if architecture is 64 bit.

Definition at line 78 of file Architecture.cpp.

References AK_unknown, and llvm_unreachable.

Referenced by llvm::object::TapiFile::is64Bit().

◆ isPrivateLibrary()

bool llvm::MachO::isPrivateLibrary ( StringRef  Path,
bool  IsSymLink = false 
)

Determine if library is private by parsing file path.

It does not touch the file system.

Parameters
PathFile path for library.
IsSymLinkWhether path points to a symlink.

Definition at line 110 of file Utils.cpp.

References DRIVERKIT_PREFIX_PATH, llvm::StringRef::ends_with(), MACCATALYST_PREFIX_PATH, Name, and llvm::StringRef::starts_with().

◆ isVirtualSection()

bool llvm::MachO::isVirtualSection ( uint8_t  type)
inline

Definition at line 595 of file MachO.h.

References S_GB_ZEROFILL, S_THREAD_LOCAL_ZEROFILL, and S_ZEROFILL.

◆ LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()

llvm::MachO::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ( )

◆ make_relative()

std::error_code llvm::MachO::make_relative ( StringRef  From,
StringRef  To,
SmallVectorImpl< char > &  RelativePath 
)

Turn absolute symlink into relative.

Parameters
FromThe symlink.
ToWhat the symlink points to.
RelativePathPath location to update what the symlink points to.

Definition at line 76 of file Utils.cpp.

References llvm::sys::path::append(), llvm::sys::path::begin(), llvm::sys::path::end(), From, llvm::sys::fs::make_absolute(), llvm::sys::path::parent_path(), and llvm::SmallVectorImpl< T >::swap().

◆ mapToArchitecture()

Architecture llvm::MachO::mapToArchitecture ( const llvm::Triple Target)

Convert a target to an architecture slice.

Definition at line 74 of file Architecture.cpp.

References getArchitectureFromName().

◆ mapToArchitectureSet()

ArchitectureSet llvm::MachO::mapToArchitectureSet ( ArrayRef< Target Targets)

◆ mapToPlatformSet() [1/2]

PlatformSet llvm::MachO::mapToPlatformSet ( ArrayRef< Target Targets)

Definition at line 62 of file Target.cpp.

References llvm::MachO::Target::Platform.

◆ mapToPlatformSet() [2/2]

PlatformSet llvm::MachO::mapToPlatformSet ( ArrayRef< Triple Targets)

◆ mapToPlatformType() [1/2]

PlatformType llvm::MachO::mapToPlatformType ( const Triple Target)

◆ mapToPlatformType() [2/2]

PlatformType llvm::MachO::mapToPlatformType ( PlatformType  Platform,
bool  WantSim 
)

◆ mapToPlatformVersionSet()

PlatformVersionSet llvm::MachO::mapToPlatformVersionSet ( ArrayRef< Target Targets)

◆ mapToSupportedOSVersion()

VersionTuple llvm::MachO::mapToSupportedOSVersion ( const Triple Triple)

◆ operator!=() [1/2]

bool llvm::MachO::operator!= ( const Target LHS,
const Architecture RHS 
)
inline

Definition at line 65 of file Target.h.

References LHS, and RHS.

◆ operator!=() [2/2]

bool llvm::MachO::operator!= ( const Target LHS,
const Target RHS 
)
inline

Definition at line 52 of file Target.h.

References LHS, and RHS.

◆ operator<()

bool llvm::MachO::operator< ( const Target LHS,
const Target RHS 
)
inline

Definition at line 56 of file Target.h.

References LHS, and RHS.

◆ operator<<() [1/4]

raw_ostream & llvm::MachO::operator<< ( raw_ostream OS,
Architecture  Arch 
)

Definition at line 92 of file Architecture.cpp.

References getArchitectureName(), and OS.

◆ operator<<() [2/4]

raw_ostream & llvm::MachO::operator<< ( raw_ostream OS,
ArchitectureSet  Set 
)

Definition at line 64 of file ArchitectureSet.cpp.

References llvm::MachO::ArchitectureSet::print().

◆ operator<<() [3/4]

raw_ostream & llvm::MachO::operator<< ( raw_ostream OS,
const PackedVersion Version 
)
inline

Definition at line 72 of file PackedVersion.h.

References OS, and llvm::Version.

◆ operator<<() [4/4]

raw_ostream & llvm::MachO::operator<< ( raw_ostream OS,
const Target Target 
)

Definition at line 50 of file Target.cpp.

References OS.

◆ operator==() [1/2]

bool llvm::MachO::operator== ( const Target LHS,
const Architecture RHS 
)
inline

Definition at line 61 of file Target.h.

References LHS, llvm::operator==(), and RHS.

◆ operator==() [2/2]

bool llvm::MachO::operator== ( const Target LHS,
const Target RHS 
)
inline

Definition at line 47 of file Target.h.

References LHS, llvm::operator==(), and RHS.

◆ operator|()

ArchitectureSet llvm::MachO::operator| ( const Architecture lhs,
const Architecture rhs 
)
inline

Definition at line 166 of file ArchitectureSet.h.

◆ parseAliasList()

Expected< AliasMap > llvm::MachO::parseAliasList ( std::unique_ptr< llvm::MemoryBuffer > &  Buffer)

Parse input list and capture symbols and their alias.

Parameters
BufferData contents of file for the alias list.
Returns
Lookup table of alias to their base symbol.

Definition at line 205 of file Utils.cpp.

References llvm::StringRef::empty(), llvm::MachO::SimpleSymbol::Kind, llvm::MachO::SimpleSymbol::Name, parseSymbol(), llvm::StringRef::str(), and llvm::StringRef::trim().

◆ parseSymbol()

SimpleSymbol llvm::MachO::parseSymbol ( StringRef  SymName)

◆ replace_extension()

void llvm::MachO::replace_extension ( SmallVectorImpl< char > &  Path,
const Twine Extension 
)

Replace extension considering frameworks.

Parameters
PathLocation of file.
ExtensionFile extension to update with.

Definition at line 20 of file Utils.cpp.

References llvm::sys::path::filename(), P, llvm::sys::path::parent_path(), and llvm::sys::path::replace_extension().

◆ serializeInterfaceFileToJSON()

Error llvm::MachO::serializeInterfaceFileToJSON ( raw_ostream OS,
const InterfaceFile File,
const FileType  FileKind,
bool  Compact 
)

Definition at line 1019 of file TextStubV5.cpp.

References llvm::formatv(), OS, and llvm::Error::success().

Referenced by llvm::MachO::TextAPIWriter::writeToStream().

◆ SET_COMM_ALIGN()

void llvm::MachO::SET_COMM_ALIGN ( uint16_t n_desc,
uint8_t  align 
)
inline

Definition at line 1549 of file MachO.h.

◆ SET_LIBRARY_ORDINAL()

void llvm::MachO::SET_LIBRARY_ORDINAL ( uint16_t n_desc,
uint8_t  ordinal 
)
inline

Definition at line 1541 of file MachO.h.

◆ shouldSkipSymLink()

std::error_code llvm::MachO::shouldSkipSymLink ( const Twine Path,
bool Result 
)

Determine whether to skip over symlink due to either too many symlink levels or is cyclic.

Parameters
PathLocation to symlink.
ResultHolds whether to skip over Path.

Definition at line 44 of file Utils.cpp.

References llvm::StringRef::empty(), llvm::sys::fs::equivalent(), P, llvm::sys::path::parent_path(), and llvm::sys::fs::status().

◆ swapStruct() [1/67]

void llvm::MachO::swapStruct ( any_relocation_info reloc)
inline

◆ swapStruct() [2/67]

void llvm::MachO::swapStruct ( arm_state_hdr_t x)
inline

Definition at line 1996 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [3/67]

void llvm::MachO::swapStruct ( arm_thread_state32_t x)
inline

Definition at line 1955 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [4/67]

void llvm::MachO::swapStruct ( arm_thread_state64_t x)
inline

Definition at line 1974 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [5/67]

void llvm::MachO::swapStruct ( arm_thread_state_t x)
inline

Definition at line 2011 of file MachO.h.

References ARM_THREAD_STATE, and swapStruct().

◆ swapStruct() [6/67]

void llvm::MachO::swapStruct ( build_tool_version C)
inline

Definition at line 1463 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [7/67]

void llvm::MachO::swapStruct ( build_version_command C)
inline

Definition at line 1454 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [8/67]

void llvm::MachO::swapStruct ( data_in_code_entry C)
inline

Definition at line 1468 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [9/67]

LLVM_PACKED_END void llvm::MachO::swapStruct ( dyld_chained_fixups_header C)
inline

Definition at line 2154 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [10/67]

void llvm::MachO::swapStruct ( dyld_chained_starts_in_image C)
inline

Definition at line 2164 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [11/67]

void llvm::MachO::swapStruct ( dyld_chained_starts_in_segment C)
inline

Definition at line 2170 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [12/67]

void llvm::MachO::swapStruct ( dyld_info_command info)
inline

Definition at line 1247 of file MachO.h.

References info, and llvm::sys::swapByteOrder().

◆ swapStruct() [13/67]

void llvm::MachO::swapStruct ( dylib_command d)
inline

◆ swapStruct() [14/67]

void llvm::MachO::swapStruct ( dylinker_command d)
inline

◆ swapStruct() [15/67]

void llvm::MachO::swapStruct ( dysymtab_command dst)
inline

◆ swapStruct() [16/67]

void llvm::MachO::swapStruct ( encryption_info_command e)
inline

Definition at line 1356 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [17/67]

void llvm::MachO::swapStruct ( encryption_info_command_64 e)
inline

Definition at line 1364 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [18/67]

void llvm::MachO::swapStruct ( entry_point_command e)
inline

Definition at line 1349 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [19/67]

void llvm::MachO::swapStruct ( fat_arch mh)
inline

◆ swapStruct() [20/67]

void llvm::MachO::swapStruct ( fat_arch_64 mh)
inline

◆ swapStruct() [21/67]

void llvm::MachO::swapStruct ( fat_header mh)
inline

◆ swapStruct() [22/67]

void llvm::MachO::swapStruct ( fileset_entry_command C)
inline

Definition at line 1431 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [23/67]

void llvm::MachO::swapStruct ( fvmfile_command C)
inline

Definition at line 1501 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [24/67]

void llvm::MachO::swapStruct ( fvmlib C)
inline

Definition at line 1522 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [25/67]

void llvm::MachO::swapStruct ( fvmlib_command C)
inline

Definition at line 1529 of file MachO.h.

References llvm::CallingConv::C, llvm::sys::swapByteOrder(), and swapStruct().

◆ swapStruct() [26/67]

void llvm::MachO::swapStruct ( ident_command C)
inline

Definition at line 1517 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [27/67]

void llvm::MachO::swapStruct ( linkedit_data_command C)
inline

Definition at line 1418 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [28/67]

void llvm::MachO::swapStruct ( linker_option_command C)
inline

Definition at line 1425 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [29/67]

void llvm::MachO::swapStruct ( load_command lc)
inline

◆ swapStruct() [30/67]

void llvm::MachO::swapStruct ( mach_header mh)
inline

◆ swapStruct() [31/67]

void llvm::MachO::swapStruct ( mach_header_64 H)
inline

Definition at line 1172 of file MachO.h.

References H, and llvm::sys::swapByteOrder().

◆ swapStruct() [32/67]

void llvm::MachO::swapStruct ( nlist sym)
inline

◆ swapStruct() [33/67]

void llvm::MachO::swapStruct ( nlist_64 sym)
inline

◆ swapStruct() [34/67]

void llvm::MachO::swapStruct ( nlist_base S)
inline

◆ swapStruct() [35/67]

void llvm::MachO::swapStruct ( note_command C)
inline

Definition at line 1447 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [36/67]

void llvm::MachO::swapStruct ( ppc_state_hdr_t x)
inline

Definition at line 2121 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [37/67]

void llvm::MachO::swapStruct ( ppc_thread_state32_t x)
inline

Definition at line 2066 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [38/67]

void llvm::MachO::swapStruct ( ppc_thread_state_t x)
inline

Definition at line 2136 of file MachO.h.

References PPC_THREAD_STATE, and swapStruct().

◆ swapStruct() [39/67]

void llvm::MachO::swapStruct ( prebind_cksum_command C)
inline

Definition at line 1477 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [40/67]

void llvm::MachO::swapStruct ( prebound_dylib_command C)
inline

Definition at line 1492 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [41/67]

void llvm::MachO::swapStruct ( routines_command r)
inline

◆ swapStruct() [42/67]

void llvm::MachO::swapStruct ( routines_command_64 r)
inline

◆ swapStruct() [43/67]

void llvm::MachO::swapStruct ( rpath_command r)
inline

◆ swapStruct() [44/67]

void llvm::MachO::swapStruct ( section sect)
inline

◆ swapStruct() [45/67]

void llvm::MachO::swapStruct ( section_64 sect)
inline

◆ swapStruct() [46/67]

void llvm::MachO::swapStruct ( segment_command seg)
inline

◆ swapStruct() [47/67]

void llvm::MachO::swapStruct ( segment_command_64 seg)
inline

◆ swapStruct() [48/67]

void llvm::MachO::swapStruct ( source_version_command s)
inline

◆ swapStruct() [49/67]

void llvm::MachO::swapStruct ( sub_client_command s)
inline

◆ swapStruct() [50/67]

void llvm::MachO::swapStruct ( sub_framework_command s)
inline

◆ swapStruct() [51/67]

void llvm::MachO::swapStruct ( sub_library_command s)
inline

◆ swapStruct() [52/67]

void llvm::MachO::swapStruct ( sub_umbrella_command s)
inline

◆ swapStruct() [53/67]

void llvm::MachO::swapStruct ( symseg_command C)
inline

Definition at line 1509 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [54/67]

void llvm::MachO::swapStruct ( symtab_command lc)
inline

◆ swapStruct() [55/67]

void llvm::MachO::swapStruct ( thread_command t)
inline

◆ swapStruct() [56/67]

void llvm::MachO::swapStruct ( twolevel_hints_command C)
inline

Definition at line 1484 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [57/67]

void llvm::MachO::swapStruct ( uint32_t C)
inline

Definition at line 1474 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [58/67]

void llvm::MachO::swapStruct ( uuid_command u)
inline

Definition at line 1332 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [59/67]

void llvm::MachO::swapStruct ( version_min_command C)
inline

Definition at line 1440 of file MachO.h.

References llvm::CallingConv::C, and llvm::sys::swapByteOrder().

◆ swapStruct() [60/67]

void llvm::MachO::swapStruct ( x86_exception_state64_t x)
inline

Definition at line 1858 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [61/67]

void llvm::MachO::swapStruct ( x86_exception_state_t x)
inline

Definition at line 1924 of file MachO.h.

References swapStruct(), and x86_EXCEPTION_STATE64.

◆ swapStruct() [62/67]

void llvm::MachO::swapStruct ( x86_float_state64_t x)
inline

Definition at line 1841 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [63/67]

void llvm::MachO::swapStruct ( x86_float_state_t x)
inline

Definition at line 1918 of file MachO.h.

References swapStruct(), and x86_FLOAT_STATE64.

◆ swapStruct() [64/67]

void llvm::MachO::swapStruct ( x86_state_hdr_t x)
inline

Definition at line 1892 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [65/67]

void llvm::MachO::swapStruct ( x86_thread_state32_t x)
inline

Definition at line 1798 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [66/67]

void llvm::MachO::swapStruct ( x86_thread_state64_t x)
inline

Definition at line 1817 of file MachO.h.

References llvm::sys::swapByteOrder().

◆ swapStruct() [67/67]

void llvm::MachO::swapStruct ( x86_thread_state_t x)
inline

Definition at line 1912 of file MachO.h.

References swapStruct(), and x86_THREAD_STATE64.

Variable Documentation

◆ ARM_THREAD_STATE64_COUNT

const uint32_t llvm::MachO::ARM_THREAD_STATE64_COUNT
Initial value:
=
sizeof(arm_thread_state64_t) / sizeof(uint32_t)

Definition at line 2020 of file MachO.h.

Referenced by checkThreadCommand().

◆ ARM_THREAD_STATE_COUNT

const uint32_t llvm::MachO::ARM_THREAD_STATE_COUNT
Initial value:
=
sizeof(arm_thread_state32_t) / sizeof(uint32_t)

Definition at line 2017 of file MachO.h.

Referenced by checkThreadCommand().

◆ ObjC1ClassNamePrefix

constexpr StringLiteral llvm::MachO::ObjC1ClassNamePrefix = ".objc_class_name_"
constexpr

Definition at line 62 of file Symbol.h.

Referenced by parseSymbol(), and llvm::object::TapiFile::TapiFile().

◆ ObjC2ClassNamePrefix

constexpr StringLiteral llvm::MachO::ObjC2ClassNamePrefix = "_OBJC_CLASS_$_"
constexpr

◆ ObjC2EHTypePrefix

constexpr StringLiteral llvm::MachO::ObjC2EHTypePrefix = "_OBJC_EHTYPE_$_"
constexpr

◆ ObjC2IVarPrefix

constexpr StringLiteral llvm::MachO::ObjC2IVarPrefix = "_OBJC_IVAR_$_"
constexpr

Definition at line 66 of file Symbol.h.

Referenced by parseSymbol(), and llvm::object::TapiFile::TapiFile().

◆ ObjC2MetaClassNamePrefix

constexpr StringLiteral llvm::MachO::ObjC2MetaClassNamePrefix = "_OBJC_METACLASS_$_"
constexpr

◆ PPC_THREAD_STATE_COUNT

const uint32_t llvm::MachO::PPC_THREAD_STATE_COUNT
Initial value:
=
sizeof(ppc_thread_state32_t) / sizeof(uint32_t)

Definition at line 2142 of file MachO.h.

Referenced by checkThreadCommand().

◆ x86_EXCEPTION_STATE64_COUNT

const uint32_t llvm::MachO::x86_EXCEPTION_STATE64_COUNT
Initial value:
=
sizeof(x86_exception_state64_t) / sizeof(uint32_t)

Definition at line 1937 of file MachO.h.

Referenced by checkThreadCommand().

◆ x86_EXCEPTION_STATE_COUNT

const uint32_t llvm::MachO::x86_EXCEPTION_STATE_COUNT
Initial value:
=
sizeof(x86_exception_state_t) / sizeof(uint32_t)

Definition at line 1944 of file MachO.h.

Referenced by checkThreadCommand().

◆ x86_FLOAT_STATE64_COUNT

const uint32_t llvm::MachO::x86_FLOAT_STATE64_COUNT
Initial value:
=
sizeof(x86_float_state64_t) / sizeof(uint32_t)

Definition at line 1935 of file MachO.h.

◆ x86_FLOAT_STATE_COUNT

const uint32_t llvm::MachO::x86_FLOAT_STATE_COUNT
Initial value:
=
sizeof(x86_float_state_t) / sizeof(uint32_t)

Definition at line 1942 of file MachO.h.

Referenced by checkThreadCommand().

◆ x86_THREAD_STATE32_COUNT

const uint32_t llvm::MachO::x86_THREAD_STATE32_COUNT
Initial value:
=
sizeof(x86_thread_state32_t) / sizeof(uint32_t)

Definition at line 1930 of file MachO.h.

Referenced by checkThreadCommand().

◆ x86_THREAD_STATE64_COUNT

const uint32_t llvm::MachO::x86_THREAD_STATE64_COUNT
Initial value:
=
sizeof(x86_thread_state64_t) / sizeof(uint32_t)

Definition at line 1933 of file MachO.h.

Referenced by checkThreadCommand().

◆ x86_THREAD_STATE_COUNT

const uint32_t llvm::MachO::x86_THREAD_STATE_COUNT
Initial value:
=
sizeof(x86_thread_state_t) / sizeof(uint32_t)

Definition at line 1940 of file MachO.h.

Referenced by checkThreadCommand().