LLVM  6.0.0svn
Classes | Namespaces | Macros | Enumerations | Functions | Variables
MachO.h File Reference
#include "llvm/Support/Compiler.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/Host.h"
#include "llvm/BinaryFormat/MachO.def"
Include dependency graph for MachO.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::MachO::mach_header
 
struct  llvm::MachO::mach_header_64
 
struct  llvm::MachO::load_command
 
struct  llvm::MachO::segment_command
 
struct  llvm::MachO::segment_command_64
 
struct  llvm::MachO::section
 
struct  llvm::MachO::section_64
 
struct  llvm::MachO::fvmlib
 
struct  llvm::MachO::fvmlib_command
 
struct  llvm::MachO::dylib
 
struct  llvm::MachO::dylib_command
 
struct  llvm::MachO::sub_framework_command
 
struct  llvm::MachO::sub_client_command
 
struct  llvm::MachO::sub_umbrella_command
 
struct  llvm::MachO::sub_library_command
 
struct  llvm::MachO::prebound_dylib_command
 
struct  llvm::MachO::dylinker_command
 
struct  llvm::MachO::thread_command
 
struct  llvm::MachO::routines_command
 
struct  llvm::MachO::routines_command_64
 
struct  llvm::MachO::symtab_command
 
struct  llvm::MachO::dysymtab_command
 
struct  llvm::MachO::dylib_table_of_contents
 
struct  llvm::MachO::dylib_module
 
struct  llvm::MachO::dylib_module_64
 
struct  llvm::MachO::dylib_reference
 
struct  llvm::MachO::twolevel_hints_command
 
struct  llvm::MachO::twolevel_hint
 
struct  llvm::MachO::prebind_cksum_command
 
struct  llvm::MachO::uuid_command
 
struct  llvm::MachO::rpath_command
 
struct  llvm::MachO::linkedit_data_command
 
struct  llvm::MachO::data_in_code_entry
 
struct  llvm::MachO::source_version_command
 
struct  llvm::MachO::encryption_info_command
 
struct  llvm::MachO::encryption_info_command_64
 
struct  llvm::MachO::version_min_command
 
struct  llvm::MachO::note_command
 
struct  llvm::MachO::build_tool_version
 
struct  llvm::MachO::build_version_command
 
struct  llvm::MachO::dyld_info_command
 
struct  llvm::MachO::linker_option_command
 
struct  llvm::MachO::symseg_command
 
struct  llvm::MachO::ident_command
 
struct  llvm::MachO::fvmfile_command
 
struct  llvm::MachO::tlv_descriptor_32
 
struct  llvm::MachO::tlv_descriptor_64
 
struct  llvm::MachO::tlv_descriptor
 
struct  llvm::MachO::entry_point_command
 
struct  llvm::MachO::fat_header
 
struct  llvm::MachO::fat_arch
 
struct  llvm::MachO::fat_arch_64
 
struct  llvm::MachO::relocation_info
 
struct  llvm::MachO::scattered_relocation_info
 
struct  llvm::MachO::any_relocation_info
 
struct  llvm::MachO::nlist_base
 
struct  llvm::MachO::nlist
 
struct  llvm::MachO::nlist_64
 
struct  llvm::MachO::x86_thread_state32_t
 
struct  llvm::MachO::x86_thread_state64_t
 
struct  llvm::MachO::fp_control_t
 
struct  llvm::MachO::fp_status_t
 
struct  llvm::MachO::mmst_reg_t
 
struct  llvm::MachO::xmm_reg_t
 
struct  llvm::MachO::x86_float_state64_t
 
struct  llvm::MachO::x86_exception_state64_t
 
struct  llvm::MachO::x86_state_hdr_t
 
struct  llvm::MachO::x86_thread_state_t
 
struct  llvm::MachO::x86_float_state_t
 
struct  llvm::MachO::x86_exception_state_t
 
struct  llvm::MachO::arm_thread_state32_t
 
struct  llvm::MachO::arm_thread_state64_t
 
struct  llvm::MachO::arm_state_hdr_t
 
struct  llvm::MachO::arm_thread_state_t
 
struct  llvm::MachO::ppc_thread_state32_t
 
struct  llvm::MachO::ppc_state_hdr_t
 
struct  llvm::MachO::ppc_thread_state_t
 
union  llvm::MachO::macho_load_command
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::MachO
 

Macros

#define HANDLE_LOAD_COMMAND(LCName, LCValue, LCStruct)   LCName = LCValue,
 
#define LOAD_COMMAND_STRUCT(LCStruct)   LCStruct LCStruct##_data;
 

Enumerations

enum  : uint32_t {
  llvm::MachO::MH_MAGIC = 0xFEEDFACEu, llvm::MachO::MH_CIGAM = 0xCEFAEDFEu, llvm::MachO::MH_MAGIC_64 = 0xFEEDFACFu, llvm::MachO::MH_CIGAM_64 = 0xCFFAEDFEu,
  llvm::MachO::FAT_MAGIC = 0xCAFEBABEu, llvm::MachO::FAT_CIGAM = 0xBEBAFECAu, llvm::MachO::FAT_MAGIC_64 = 0xCAFEBABFu, llvm::MachO::FAT_CIGAM_64 = 0xBFBAFECAu
}
 
enum  llvm::MachO::HeaderFileType {
  llvm::MachO::MH_OBJECT = 0x1u, llvm::MachO::MH_EXECUTE = 0x2u, llvm::MachO::MH_FVMLIB = 0x3u, llvm::MachO::MH_CORE = 0x4u,
  llvm::MachO::MH_PRELOAD = 0x5u, llvm::MachO::MH_DYLIB = 0x6u, llvm::MachO::MH_DYLINKER = 0x7u, llvm::MachO::MH_BUNDLE = 0x8u,
  llvm::MachO::MH_DYLIB_STUB = 0x9u, llvm::MachO::MH_DSYM = 0xAu, llvm::MachO::MH_KEXT_BUNDLE = 0xBu
}
 
enum  {
  llvm::MachO::MH_NOUNDEFS = 0x00000001u, llvm::MachO::MH_INCRLINK = 0x00000002u, llvm::MachO::MH_DYLDLINK = 0x00000004u, llvm::MachO::MH_BINDATLOAD = 0x00000008u,
  llvm::MachO::MH_PREBOUND = 0x00000010u, llvm::MachO::MH_SPLIT_SEGS = 0x00000020u, llvm::MachO::MH_LAZY_INIT = 0x00000040u, llvm::MachO::MH_TWOLEVEL = 0x00000080u,
  llvm::MachO::MH_FORCE_FLAT = 0x00000100u, llvm::MachO::MH_NOMULTIDEFS = 0x00000200u, llvm::MachO::MH_NOFIXPREBINDING = 0x00000400u, llvm::MachO::MH_PREBINDABLE = 0x00000800u,
  llvm::MachO::MH_ALLMODSBOUND = 0x00001000u, llvm::MachO::MH_SUBSECTIONS_VIA_SYMBOLS = 0x00002000u, llvm::MachO::MH_CANONICAL = 0x00004000u, llvm::MachO::MH_WEAK_DEFINES = 0x00008000u,
  llvm::MachO::MH_BINDS_TO_WEAK = 0x00010000u, llvm::MachO::MH_ALLOW_STACK_EXECUTION = 0x00020000u, llvm::MachO::MH_ROOT_SAFE = 0x00040000u, llvm::MachO::MH_SETUID_SAFE = 0x00080000u,
  llvm::MachO::MH_NO_REEXPORTED_DYLIBS = 0x00100000u, llvm::MachO::MH_PIE = 0x00200000u, llvm::MachO::MH_DEAD_STRIPPABLE_DYLIB = 0x00400000u, llvm::MachO::MH_HAS_TLV_DESCRIPTORS = 0x00800000u,
  llvm::MachO::MH_NO_HEAP_EXECUTION = 0x01000000u, llvm::MachO::MH_APP_EXTENSION_SAFE = 0x02000000u, llvm::MachO::MH_NLIST_OUTOFSYNC_WITH_DYLDINFO = 0x04000000u
}
 
enum  : uint32_t { llvm::MachO::LC_REQ_DYLD = 0x80000000u }
 
enum  llvm::MachO::LoadCommandType : uint32_t
 
enum  : uint32_t {
  llvm::MachO::SG_HIGHVM = 0x1u, llvm::MachO::SG_FVMLIB = 0x2u, llvm::MachO::SG_NORELOC = 0x4u, llvm::MachO::SG_PROTECTED_VERSION_1 = 0x8u,
  llvm::MachO::SECTION_TYPE = 0x000000ffu, llvm::MachO::SECTION_ATTRIBUTES = 0xffffff00u, llvm::MachO::SECTION_ATTRIBUTES_USR = 0xff000000u, llvm::MachO::SECTION_ATTRIBUTES_SYS = 0x00ffff00u
}
 
enum  llvm::MachO::SectionType : uint32_t {
  llvm::MachO::S_REGULAR = 0x00u, llvm::MachO::S_ZEROFILL = 0x01u, llvm::MachO::S_CSTRING_LITERALS = 0x02u, llvm::MachO::S_4BYTE_LITERALS = 0x03u,
  llvm::MachO::S_8BYTE_LITERALS = 0x04u, llvm::MachO::S_LITERAL_POINTERS = 0x05u, llvm::MachO::S_NON_LAZY_SYMBOL_POINTERS = 0x06u, llvm::MachO::S_LAZY_SYMBOL_POINTERS = 0x07u,
  llvm::MachO::S_SYMBOL_STUBS = 0x08u, llvm::MachO::S_MOD_INIT_FUNC_POINTERS = 0x09u, llvm::MachO::S_MOD_TERM_FUNC_POINTERS = 0x0au, llvm::MachO::S_COALESCED = 0x0bu,
  llvm::MachO::S_GB_ZEROFILL = 0x0cu, llvm::MachO::S_INTERPOSING = 0x0du, llvm::MachO::S_16BYTE_LITERALS = 0x0eu, llvm::MachO::S_DTRACE_DOF = 0x0fu,
  llvm::MachO::S_LAZY_DYLIB_SYMBOL_POINTERS = 0x10u, llvm::MachO::S_THREAD_LOCAL_REGULAR = 0x11u, llvm::MachO::S_THREAD_LOCAL_ZEROFILL = 0x12u, llvm::MachO::S_THREAD_LOCAL_VARIABLES = 0x13u,
  llvm::MachO::S_THREAD_LOCAL_VARIABLE_POINTERS = 0x14u, llvm::MachO::S_THREAD_LOCAL_INIT_FUNCTION_POINTERS = 0x15u, llvm::MachO::LAST_KNOWN_SECTION_TYPE = S_THREAD_LOCAL_INIT_FUNCTION_POINTERS
}
 These are the section type and attributes fields. More...
 
enum  : uint32_t {
  llvm::MachO::S_ATTR_PURE_INSTRUCTIONS = 0x80000000u, llvm::MachO::S_ATTR_NO_TOC = 0x40000000u, llvm::MachO::S_ATTR_STRIP_STATIC_SYMS = 0x20000000u, llvm::MachO::S_ATTR_NO_DEAD_STRIP = 0x10000000u,
  llvm::MachO::S_ATTR_LIVE_SUPPORT = 0x08000000u, llvm::MachO::S_ATTR_SELF_MODIFYING_CODE = 0x04000000u, llvm::MachO::S_ATTR_DEBUG = 0x02000000u, llvm::MachO::S_ATTR_SOME_INSTRUCTIONS = 0x00000400u,
  llvm::MachO::S_ATTR_EXT_RELOC = 0x00000200u, llvm::MachO::S_ATTR_LOC_RELOC = 0x00000100u, llvm::MachO::INDIRECT_SYMBOL_LOCAL = 0x80000000u, llvm::MachO::INDIRECT_SYMBOL_ABS = 0x40000000u
}
 
enum  llvm::MachO::DataRegionType {
  llvm::MachO::DICE_KIND_DATA = 1u, llvm::MachO::DICE_KIND_JUMP_TABLE8 = 2u, llvm::MachO::DICE_KIND_JUMP_TABLE16 = 3u, llvm::MachO::DICE_KIND_JUMP_TABLE32 = 4u,
  llvm::MachO::DICE_KIND_ABS_JUMP_TABLE32 = 5u
}
 
enum  llvm::MachO::RebaseType { llvm::MachO::REBASE_TYPE_POINTER = 1u, llvm::MachO::REBASE_TYPE_TEXT_ABSOLUTE32 = 2u, llvm::MachO::REBASE_TYPE_TEXT_PCREL32 = 3u }
 
enum  { llvm::MachO::REBASE_OPCODE_MASK = 0xF0u, llvm::MachO::REBASE_IMMEDIATE_MASK = 0x0Fu }
 
enum  llvm::MachO::RebaseOpcode {
  llvm::MachO::REBASE_OPCODE_DONE = 0x00u, llvm::MachO::REBASE_OPCODE_SET_TYPE_IMM = 0x10u, llvm::MachO::REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB = 0x20u, llvm::MachO::REBASE_OPCODE_ADD_ADDR_ULEB = 0x30u,
  llvm::MachO::REBASE_OPCODE_ADD_ADDR_IMM_SCALED = 0x40u, llvm::MachO::REBASE_OPCODE_DO_REBASE_IMM_TIMES = 0x50u, llvm::MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES = 0x60u, llvm::MachO::REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB = 0x70u,
  llvm::MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB = 0x80u
}
 
enum  llvm::MachO::BindType { llvm::MachO::BIND_TYPE_POINTER = 1u, llvm::MachO::BIND_TYPE_TEXT_ABSOLUTE32 = 2u, llvm::MachO::BIND_TYPE_TEXT_PCREL32 = 3u }
 
enum  llvm::MachO::BindSpecialDylib { llvm::MachO::BIND_SPECIAL_DYLIB_SELF = 0, llvm::MachO::BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE = -1, llvm::MachO::BIND_SPECIAL_DYLIB_FLAT_LOOKUP = -2 }
 
enum  { llvm::MachO::BIND_SYMBOL_FLAGS_WEAK_IMPORT = 0x1u, llvm::MachO::BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION = 0x8u, llvm::MachO::BIND_OPCODE_MASK = 0xF0u, llvm::MachO::BIND_IMMEDIATE_MASK = 0x0Fu }
 
enum  llvm::MachO::BindOpcode {
  llvm::MachO::BIND_OPCODE_DONE = 0x00u, llvm::MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_IMM = 0x10u, llvm::MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB = 0x20u, llvm::MachO::BIND_OPCODE_SET_DYLIB_SPECIAL_IMM = 0x30u,
  llvm::MachO::BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM = 0x40u, llvm::MachO::BIND_OPCODE_SET_TYPE_IMM = 0x50u, llvm::MachO::BIND_OPCODE_SET_ADDEND_SLEB = 0x60u, llvm::MachO::BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB = 0x70u,
  llvm::MachO::BIND_OPCODE_ADD_ADDR_ULEB = 0x80u, llvm::MachO::BIND_OPCODE_DO_BIND = 0x90u, llvm::MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB = 0xA0u, llvm::MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED = 0xB0u,
  llvm::MachO::BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB = 0xC0u
}
 
enum  { llvm::MachO::EXPORT_SYMBOL_FLAGS_KIND_MASK = 0x03u, llvm::MachO::EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION = 0x04u, llvm::MachO::EXPORT_SYMBOL_FLAGS_REEXPORT = 0x08u, llvm::MachO::EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER = 0x10u }
 
enum  llvm::MachO::ExportSymbolKind { llvm::MachO::EXPORT_SYMBOL_FLAGS_KIND_REGULAR = 0x00u, llvm::MachO::EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL = 0x01u, llvm::MachO::EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE = 0x02u }
 
enum  { llvm::MachO::N_STAB = 0xe0, llvm::MachO::N_PEXT = 0x10, llvm::MachO::N_TYPE = 0x0e, llvm::MachO::N_EXT = 0x01 }
 
enum  llvm::MachO::NListType : uint8_t {
  llvm::MachO::N_UNDF = 0x0u, llvm::MachO::N_ABS = 0x2u, llvm::MachO::N_SECT = 0xeu, llvm::MachO::N_PBUD = 0xcu,
  llvm::MachO::N_INDR = 0xau
}
 
enum  llvm::MachO::SectionOrdinal { llvm::MachO::NO_SECT = 0u, llvm::MachO::MAX_SECT = 0xffu }
 
enum  {
  llvm::MachO::REFERENCE_TYPE = 0x7, llvm::MachO::REFERENCE_FLAG_UNDEFINED_NON_LAZY = 0, llvm::MachO::REFERENCE_FLAG_UNDEFINED_LAZY = 1, llvm::MachO::REFERENCE_FLAG_DEFINED = 2,
  llvm::MachO::REFERENCE_FLAG_PRIVATE_DEFINED = 3, llvm::MachO::REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY = 4, llvm::MachO::REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY = 5, llvm::MachO::N_ARM_THUMB_DEF = 0x0008u,
  llvm::MachO::REFERENCED_DYNAMICALLY = 0x0010u, llvm::MachO::N_NO_DEAD_STRIP = 0x0020u, llvm::MachO::N_WEAK_REF = 0x0040u, llvm::MachO::N_WEAK_DEF = 0x0080u,
  llvm::MachO::N_SYMBOL_RESOLVER = 0x0100u, llvm::MachO::N_ALT_ENTRY = 0x0200u, llvm::MachO::SELF_LIBRARY_ORDINAL = 0x0, llvm::MachO::MAX_LIBRARY_ORDINAL = 0xfd,
  llvm::MachO::DYNAMIC_LOOKUP_ORDINAL = 0xfe, llvm::MachO::EXECUTABLE_ORDINAL = 0xff
}
 
enum  llvm::MachO::StabType {
  llvm::MachO::N_GSYM = 0x20u, llvm::MachO::N_FNAME = 0x22u, llvm::MachO::N_FUN = 0x24u, llvm::MachO::N_STSYM = 0x26u,
  llvm::MachO::N_LCSYM = 0x28u, llvm::MachO::N_BNSYM = 0x2Eu, llvm::MachO::N_PC = 0x30u, llvm::MachO::N_AST = 0x32u,
  llvm::MachO::N_OPT = 0x3Cu, llvm::MachO::N_RSYM = 0x40u, llvm::MachO::N_SLINE = 0x44u, llvm::MachO::N_ENSYM = 0x4Eu,
  llvm::MachO::N_SSYM = 0x60u, llvm::MachO::N_SO = 0x64u, llvm::MachO::N_OSO = 0x66u, llvm::MachO::N_LSYM = 0x80u,
  llvm::MachO::N_BINCL = 0x82u, llvm::MachO::N_SOL = 0x84u, llvm::MachO::N_PARAMS = 0x86u, llvm::MachO::N_VERSION = 0x88u,
  llvm::MachO::N_OLEVEL = 0x8Au, llvm::MachO::N_PSYM = 0xA0u, llvm::MachO::N_EINCL = 0xA2u, llvm::MachO::N_ENTRY = 0xA4u,
  llvm::MachO::N_LBRAC = 0xC0u, llvm::MachO::N_EXCL = 0xC2u, llvm::MachO::N_RBRAC = 0xE0u, llvm::MachO::N_BCOMM = 0xE2u,
  llvm::MachO::N_ECOMM = 0xE4u, llvm::MachO::N_ECOML = 0xE8u, llvm::MachO::N_LENG = 0xFEu
}
 
enum  : uint32_t { llvm::MachO::R_ABS = 0, llvm::MachO::R_SCATTERED = 0x80000000 }
 
enum  llvm::MachO::RelocationInfoType {
  llvm::MachO::GENERIC_RELOC_VANILLA = 0, llvm::MachO::GENERIC_RELOC_PAIR = 1, llvm::MachO::GENERIC_RELOC_SECTDIFF = 2, llvm::MachO::GENERIC_RELOC_PB_LA_PTR = 3,
  llvm::MachO::GENERIC_RELOC_LOCAL_SECTDIFF = 4, llvm::MachO::GENERIC_RELOC_TLV = 5, llvm::MachO::PPC_RELOC_VANILLA = GENERIC_RELOC_VANILLA, llvm::MachO::PPC_RELOC_PAIR = GENERIC_RELOC_PAIR,
  llvm::MachO::PPC_RELOC_BR14 = 2, llvm::MachO::PPC_RELOC_BR24 = 3, llvm::MachO::PPC_RELOC_HI16 = 4, llvm::MachO::PPC_RELOC_LO16 = 5,
  llvm::MachO::PPC_RELOC_HA16 = 6, llvm::MachO::PPC_RELOC_LO14 = 7, llvm::MachO::PPC_RELOC_SECTDIFF = 8, llvm::MachO::PPC_RELOC_PB_LA_PTR = 9,
  llvm::MachO::PPC_RELOC_HI16_SECTDIFF = 10, llvm::MachO::PPC_RELOC_LO16_SECTDIFF = 11, llvm::MachO::PPC_RELOC_HA16_SECTDIFF = 12, llvm::MachO::PPC_RELOC_JBSR = 13,
  llvm::MachO::PPC_RELOC_LO14_SECTDIFF = 14, llvm::MachO::PPC_RELOC_LOCAL_SECTDIFF = 15, llvm::MachO::ARM_RELOC_VANILLA = GENERIC_RELOC_VANILLA, llvm::MachO::ARM_RELOC_PAIR = GENERIC_RELOC_PAIR,
  llvm::MachO::ARM_RELOC_SECTDIFF = GENERIC_RELOC_SECTDIFF, llvm::MachO::ARM_RELOC_LOCAL_SECTDIFF = 3, llvm::MachO::ARM_RELOC_PB_LA_PTR = 4, llvm::MachO::ARM_RELOC_BR24 = 5,
  llvm::MachO::ARM_THUMB_RELOC_BR22 = 6, llvm::MachO::ARM_THUMB_32BIT_BRANCH = 7, llvm::MachO::ARM_RELOC_HALF = 8, llvm::MachO::ARM_RELOC_HALF_SECTDIFF = 9,
  llvm::MachO::ARM64_RELOC_UNSIGNED = 0, llvm::MachO::ARM64_RELOC_SUBTRACTOR = 1, llvm::MachO::ARM64_RELOC_BRANCH26 = 2, llvm::MachO::ARM64_RELOC_PAGE21 = 3,
  llvm::MachO::ARM64_RELOC_PAGEOFF12 = 4, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGE21 = 5, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGEOFF12 = 6, llvm::MachO::ARM64_RELOC_POINTER_TO_GOT = 7,
  llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGE21 = 8, llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGEOFF12 = 9, llvm::MachO::ARM64_RELOC_ADDEND = 10, llvm::MachO::X86_64_RELOC_UNSIGNED = 0,
  llvm::MachO::X86_64_RELOC_SIGNED = 1, llvm::MachO::X86_64_RELOC_BRANCH = 2, llvm::MachO::X86_64_RELOC_GOT_LOAD = 3, llvm::MachO::X86_64_RELOC_GOT = 4,
  llvm::MachO::X86_64_RELOC_SUBTRACTOR = 5, llvm::MachO::X86_64_RELOC_SIGNED_1 = 6, llvm::MachO::X86_64_RELOC_SIGNED_2 = 7, llvm::MachO::X86_64_RELOC_SIGNED_4 = 8,
  llvm::MachO::X86_64_RELOC_TLV = 9
}
 
enum  { llvm::MachO::VM_PROT_READ = 0x1, llvm::MachO::VM_PROT_WRITE = 0x2, llvm::MachO::VM_PROT_EXECUTE = 0x4 }
 
enum  llvm::MachO::PlatformType {
  llvm::MachO::PLATFORM_MACOS = 1, llvm::MachO::PLATFORM_IOS = 2, llvm::MachO::PLATFORM_TVOS = 3, llvm::MachO::PLATFORM_WATCHOS = 4,
  llvm::MachO::PLATFORM_BRIDGEOS = 5
}
 
enum  { llvm::MachO::TOOL_CLANG = 1, llvm::MachO::TOOL_SWIFT = 2, llvm::MachO::TOOL_LD = 3 }
 
enum  : uint32_t { llvm::MachO::CPU_ARCH_MASK = 0xff000000, llvm::MachO::CPU_ARCH_ABI64 = 0x01000000 }
 
enum  llvm::MachO::CPUType {
  llvm::MachO::CPU_TYPE_ANY = -1, llvm::MachO::CPU_TYPE_X86 = 7, llvm::MachO::CPU_TYPE_I386 = CPU_TYPE_X86, llvm::MachO::CPU_TYPE_X86_64 = CPU_TYPE_X86 | CPU_ARCH_ABI64,
  llvm::MachO::CPU_TYPE_MC98000 = 10, llvm::MachO::CPU_TYPE_ARM = 12, llvm::MachO::CPU_TYPE_ARM64 = CPU_TYPE_ARM | CPU_ARCH_ABI64, llvm::MachO::CPU_TYPE_SPARC = 14,
  llvm::MachO::CPU_TYPE_POWERPC = 18, llvm::MachO::CPU_TYPE_POWERPC64 = CPU_TYPE_POWERPC | CPU_ARCH_ABI64
}
 
enum  : uint32_t { llvm::MachO::CPU_SUBTYPE_MASK = 0xff000000, llvm::MachO::CPU_SUBTYPE_LIB64 = 0x80000000, llvm::MachO::CPU_SUBTYPE_MULTIPLE = ~0u }
 
enum  llvm::MachO::CPUSubTypeX86 {
  llvm::MachO::CPU_SUBTYPE_I386_ALL = 3, llvm::MachO::CPU_SUBTYPE_386 = 3, llvm::MachO::CPU_SUBTYPE_486 = 4, llvm::MachO::CPU_SUBTYPE_486SX = 0x84,
  llvm::MachO::CPU_SUBTYPE_586 = 5, llvm::MachO::CPU_SUBTYPE_PENT = CPU_SUBTYPE_586, llvm::MachO::CPU_SUBTYPE_PENTPRO = 0x16, llvm::MachO::CPU_SUBTYPE_PENTII_M3 = 0x36,
  llvm::MachO::CPU_SUBTYPE_PENTII_M5 = 0x56, llvm::MachO::CPU_SUBTYPE_CELERON = 0x67, llvm::MachO::CPU_SUBTYPE_CELERON_MOBILE = 0x77, llvm::MachO::CPU_SUBTYPE_PENTIUM_3 = 0x08,
  llvm::MachO::CPU_SUBTYPE_PENTIUM_3_M = 0x18, llvm::MachO::CPU_SUBTYPE_PENTIUM_3_XEON = 0x28, llvm::MachO::CPU_SUBTYPE_PENTIUM_M = 0x09, llvm::MachO::CPU_SUBTYPE_PENTIUM_4 = 0x0a,
  llvm::MachO::CPU_SUBTYPE_PENTIUM_4_M = 0x1a, llvm::MachO::CPU_SUBTYPE_ITANIUM = 0x0b, llvm::MachO::CPU_SUBTYPE_ITANIUM_2 = 0x1b, llvm::MachO::CPU_SUBTYPE_XEON = 0x0c,
  llvm::MachO::CPU_SUBTYPE_XEON_MP = 0x1c, llvm::MachO::CPU_SUBTYPE_X86_ALL = 3, llvm::MachO::CPU_SUBTYPE_X86_64_ALL = 3, llvm::MachO::CPU_SUBTYPE_X86_ARCH1 = 4,
  llvm::MachO::CPU_SUBTYPE_X86_64_H = 8
}
 
enum  { llvm::MachO::CPU_SUBTYPE_INTEL_FAMILY_MAX = 15, llvm::MachO::CPU_SUBTYPE_INTEL_MODEL_ALL = 0 }
 
enum  llvm::MachO::CPUSubTypeARM {
  llvm::MachO::CPU_SUBTYPE_ARM_ALL = 0, llvm::MachO::CPU_SUBTYPE_ARM_V4T = 5, llvm::MachO::CPU_SUBTYPE_ARM_V6 = 6, llvm::MachO::CPU_SUBTYPE_ARM_V5 = 7,
  llvm::MachO::CPU_SUBTYPE_ARM_V5TEJ = 7, llvm::MachO::CPU_SUBTYPE_ARM_XSCALE = 8, llvm::MachO::CPU_SUBTYPE_ARM_V7 = 9, llvm::MachO::CPU_SUBTYPE_ARM_V7S = 11,
  llvm::MachO::CPU_SUBTYPE_ARM_V7K = 12, llvm::MachO::CPU_SUBTYPE_ARM_V6M = 14, llvm::MachO::CPU_SUBTYPE_ARM_V7M = 15, llvm::MachO::CPU_SUBTYPE_ARM_V7EM = 16
}
 
enum  llvm::MachO::CPUSubTypeARM64 { llvm::MachO::CPU_SUBTYPE_ARM64_ALL = 0 }
 
enum  llvm::MachO::CPUSubTypeSPARC { llvm::MachO::CPU_SUBTYPE_SPARC_ALL = 0 }
 
enum  llvm::MachO::CPUSubTypePowerPC {
  llvm::MachO::CPU_SUBTYPE_POWERPC_ALL = 0, llvm::MachO::CPU_SUBTYPE_POWERPC_601 = 1, llvm::MachO::CPU_SUBTYPE_POWERPC_602 = 2, llvm::MachO::CPU_SUBTYPE_POWERPC_603 = 3,
  llvm::MachO::CPU_SUBTYPE_POWERPC_603e = 4, llvm::MachO::CPU_SUBTYPE_POWERPC_603ev = 5, llvm::MachO::CPU_SUBTYPE_POWERPC_604 = 6, llvm::MachO::CPU_SUBTYPE_POWERPC_604e = 7,
  llvm::MachO::CPU_SUBTYPE_POWERPC_620 = 8, llvm::MachO::CPU_SUBTYPE_POWERPC_750 = 9, llvm::MachO::CPU_SUBTYPE_POWERPC_7400 = 10, llvm::MachO::CPU_SUBTYPE_POWERPC_7450 = 11,
  llvm::MachO::CPU_SUBTYPE_POWERPC_970 = 100, llvm::MachO::CPU_SUBTYPE_MC980000_ALL = CPU_SUBTYPE_POWERPC_ALL, llvm::MachO::CPU_SUBTYPE_MC98601 = CPU_SUBTYPE_POWERPC_601
}
 
enum  llvm::MachO::x86_fp_control_precis { llvm::MachO::x86_FP_PREC_24B = 0, llvm::MachO::x86_FP_PREC_53B = 2, llvm::MachO::x86_FP_PREC_64B = 3 }
 
enum  llvm::MachO::x86_fp_control_rc { llvm::MachO::x86_FP_RND_NEAR = 0, llvm::MachO::x86_FP_RND_DOWN = 1, llvm::MachO::x86_FP_RND_UP = 2, llvm::MachO::x86_FP_CHOP = 3 }
 
enum  llvm::MachO::X86ThreadFlavors {
  llvm::MachO::x86_THREAD_STATE32 = 1, llvm::MachO::x86_FLOAT_STATE32 = 2, llvm::MachO::x86_EXCEPTION_STATE32 = 3, llvm::MachO::x86_THREAD_STATE64 = 4,
  llvm::MachO::x86_FLOAT_STATE64 = 5, llvm::MachO::x86_EXCEPTION_STATE64 = 6, llvm::MachO::x86_THREAD_STATE = 7, llvm::MachO::x86_FLOAT_STATE = 8,
  llvm::MachO::x86_EXCEPTION_STATE = 9, llvm::MachO::x86_DEBUG_STATE32 = 10, llvm::MachO::x86_DEBUG_STATE64 = 11, llvm::MachO::x86_DEBUG_STATE = 12
}
 
enum  llvm::MachO::ARMThreadFlavors {
  llvm::MachO::ARM_THREAD_STATE = 1, llvm::MachO::ARM_VFP_STATE = 2, llvm::MachO::ARM_EXCEPTION_STATE = 3, llvm::MachO::ARM_DEBUG_STATE = 4,
  llvm::MachO::ARN_THREAD_STATE_NONE = 5, llvm::MachO::ARM_THREAD_STATE64 = 6, llvm::MachO::ARM_EXCEPTION_STATE64 = 7
}
 
enum  llvm::MachO::PPCThreadFlavors {
  llvm::MachO::PPC_THREAD_STATE = 1, llvm::MachO::PPC_FLOAT_STATE = 2, llvm::MachO::PPC_EXCEPTION_STATE = 3, llvm::MachO::PPC_VECTOR_STATE = 4,
  llvm::MachO::PPC_THREAD_STATE64 = 5, llvm::MachO::PPC_EXCEPTION_STATE64 = 6, llvm::MachO::PPC_THREAD_STATE_NONE = 7
}
 

Functions

void llvm::MachO::swapStruct (fat_header &mh)
 
void llvm::MachO::swapStruct (fat_arch &mh)
 
void llvm::MachO::swapStruct (fat_arch_64 &mh)
 
void llvm::MachO::swapStruct (mach_header &mh)
 
void llvm::MachO::swapStruct (mach_header_64 &H)
 
void llvm::MachO::swapStruct (load_command &lc)
 
void llvm::MachO::swapStruct (symtab_command &lc)
 
void llvm::MachO::swapStruct (segment_command_64 &seg)
 
void llvm::MachO::swapStruct (segment_command &seg)
 
void llvm::MachO::swapStruct (section_64 &sect)
 
void llvm::MachO::swapStruct (section &sect)
 
void llvm::MachO::swapStruct (dyld_info_command &info)
 
void llvm::MachO::swapStruct (dylib_command &d)
 
void llvm::MachO::swapStruct (sub_framework_command &s)
 
void llvm::MachO::swapStruct (sub_umbrella_command &s)
 
void llvm::MachO::swapStruct (sub_library_command &s)
 
void llvm::MachO::swapStruct (sub_client_command &s)
 
void llvm::MachO::swapStruct (routines_command &r)
 
void llvm::MachO::swapStruct (routines_command_64 &r)
 
void llvm::MachO::swapStruct (thread_command &t)
 
void llvm::MachO::swapStruct (dylinker_command &d)
 
void llvm::MachO::swapStruct (uuid_command &u)
 
void llvm::MachO::swapStruct (rpath_command &r)
 
void llvm::MachO::swapStruct (source_version_command &s)
 
void llvm::MachO::swapStruct (entry_point_command &e)
 
void llvm::MachO::swapStruct (encryption_info_command &e)
 
void llvm::MachO::swapStruct (encryption_info_command_64 &e)
 
void llvm::MachO::swapStruct (dysymtab_command &dst)
 
void llvm::MachO::swapStruct (any_relocation_info &reloc)
 
void llvm::MachO::swapStruct (nlist_base &S)
 
void llvm::MachO::swapStruct (nlist &sym)
 
void llvm::MachO::swapStruct (nlist_64 &sym)
 
void llvm::MachO::swapStruct (linkedit_data_command &C)
 
void llvm::MachO::swapStruct (linker_option_command &C)
 
void llvm::MachO::swapStruct (version_min_command &C)
 
void llvm::MachO::swapStruct (note_command &C)
 
void llvm::MachO::swapStruct (build_version_command &C)
 
void llvm::MachO::swapStruct (build_tool_version &C)
 
void llvm::MachO::swapStruct (data_in_code_entry &C)
 
void llvm::MachO::swapStruct (uint32_t &C)
 
void llvm::MachO::swapStruct (prebind_cksum_command &C)
 
void llvm::MachO::swapStruct (twolevel_hints_command &C)
 
void llvm::MachO::swapStruct (prebound_dylib_command &C)
 
void llvm::MachO::swapStruct (fvmfile_command &C)
 
void llvm::MachO::swapStruct (symseg_command &C)
 
void llvm::MachO::swapStruct (ident_command &C)
 
void llvm::MachO::swapStruct (fvmlib &C)
 
void llvm::MachO::swapStruct (fvmlib_command &C)
 
uint16_t llvm::MachO::GET_LIBRARY_ORDINAL (uint16_t n_desc)
 
void llvm::MachO::SET_LIBRARY_ORDINAL (uint16_t &n_desc, uint8_t ordinal)
 
uint8_t llvm::MachO::GET_COMM_ALIGN (uint16_t n_desc)
 
void llvm::MachO::SET_COMM_ALIGN (uint16_t &n_desc, uint8_t align)
 
int llvm::MachO::CPU_SUBTYPE_INTEL (int Family, int Model)
 
int llvm::MachO::CPU_SUBTYPE_INTEL_FAMILY (CPUSubTypeX86 ST)
 
int llvm::MachO::CPU_SUBTYPE_INTEL_MODEL (CPUSubTypeX86 ST)
 
void llvm::MachO::swapStruct (x86_thread_state32_t &x)
 
void llvm::MachO::swapStruct (x86_thread_state64_t &x)
 
void llvm::MachO::swapStruct (x86_float_state64_t &x)
 
void llvm::MachO::swapStruct (x86_exception_state64_t &x)
 
void llvm::MachO::swapStruct (x86_state_hdr_t &x)
 
void llvm::MachO::swapStruct (x86_thread_state_t &x)
 
void llvm::MachO::swapStruct (x86_float_state_t &x)
 
void llvm::MachO::swapStruct (x86_exception_state_t &x)
 
void llvm::MachO::swapStruct (arm_thread_state32_t &x)
 
void llvm::MachO::swapStruct (arm_thread_state64_t &x)
 
void llvm::MachO::swapStruct (arm_state_hdr_t &x)
 
void llvm::MachO::swapStruct (arm_thread_state_t &x)
 
void llvm::MachO::swapStruct (ppc_thread_state32_t &x)
 
void llvm::MachO::swapStruct (ppc_state_hdr_t &x)
 
void llvm::MachO::swapStruct (ppc_thread_state_t &x)
 

Variables

const uint32_t llvm::MachO::x86_THREAD_STATE32_COUNT
 
const uint32_t llvm::MachO::x86_THREAD_STATE64_COUNT
 
const uint32_t llvm::MachO::x86_FLOAT_STATE64_COUNT
 
const uint32_t llvm::MachO::x86_EXCEPTION_STATE64_COUNT
 
const uint32_t llvm::MachO::x86_THREAD_STATE_COUNT
 
const uint32_t llvm::MachO::x86_FLOAT_STATE_COUNT
 
const uint32_t llvm::MachO::x86_EXCEPTION_STATE_COUNT
 
const uint32_t llvm::MachO::ARM_THREAD_STATE_COUNT
 
const uint32_t llvm::MachO::ARM_THREAD_STATE64_COUNT
 
const uint32_t llvm::MachO::PPC_THREAD_STATE_COUNT
 

Macro Definition Documentation

◆ HANDLE_LOAD_COMMAND

#define HANDLE_LOAD_COMMAND (   LCName,
  LCValue,
  LCStruct 
)    LCName = LCValue,

Definition at line 90 of file MachO.h.

◆ LOAD_COMMAND_STRUCT

#define LOAD_COMMAND_STRUCT (   LCStruct)    LCStruct LCStruct##_data;

Definition at line 1974 of file MachO.h.