Value | Meaning |
---|---|
MH_NOUNDEFS | The object file has no undefined references. |
MH_INCRLINK | The object file is the output of an incremental link against a base file and can't be link edited again. |
MH_DYLDLINK | The object file is input for the dynamic linker and can't be statically link edited again. |
MH_BINDATLOAD | The object file's undefined references are bound by the dynamic linker when loaded. |
MH_PREBOUND | The file has its dynamic undefined references prebound. |
MH_SPLIT_SEGS | The file has its read-only and read-write segments split. |
MH_LAZY_INIT | The shared library init routine is to be run lazily via catching memory faults to its writeable segments (obsolete). |
MH_TWOLEVEL | The image is using two-level name space bindings. |
MH_FORCE_FLAT | The executable is forcing all images to use flat name space bindings. |
MH_NOMULTIDEFS | This umbrella guarantees no multiple definitions of symbols in its sub-images so the two-level namespace hints can always be used. |
MH_NOFIXPREBINDING | Do not have dyld notify the prebinding agent about this executable. |
MH_PREBINDABLE | The binary is not prebound but can have its prebinding redone. only used when MH_PREBOUND is not set. |
MH_ALLMODSBOUND | Indicates that this binary binds to all two-level namespace modules of its dependent libraries. only used when MH_PREBINDABLE and MH_TWOLEVEL are both set. |
MH_SUBSECTIONS_VIA_SYMBOLS | Safe to divide up the sections into sub-sections via symbols for dead code stripping. |
MH_CANONICAL | The binary has been canonicalized via the unprebind operation. |
MH_WEAK_DEFINES | The final linked image contains external weak symbols. |
MH_BINDS_TO_WEAK | The final linked image uses weak symbols. |
MH_ALLOW_STACK_EXECUTION | When this bit is set, all stacks in the task will be given stack execution privilege. Only used in MH_EXECUTE filetypes. |
MH_ROOT_SAFE | When this bit is set, the binary declares it is safe for use in processes with uid zero. |
MH_SETUID_SAFE | When this bit is set, the binary declares it is safe for use in processes when issetugid() is true. |
MH_NO_REEXPORTED_DYLIBS | When this bit is set on a dylib, the static linker does not need to examine dependent dylibs to see if any are re-exported. |
MH_PIE | When this bit is set, the OS will load the main executable at a random address. Only used in MH_EXECUTE filetypes. |
MH_DEAD_STRIPPABLE_DYLIB | Only for use on dylibs. When linking against a dylib that has this bit set, the static linker will automatically not create a LC_LOAD_DYLIB load command to the dylib if no symbols are being referenced from the dylib.. |
MH_HAS_TLV_DESCRIPTORS | Contains a section of type S_THREAD_LOCAL_VARIABLES. |
MH_NO_HEAP_EXECUTION | When this bit is set, the OS will run the main executable with a non-executable heap even on platforms (e.g. i386) that don't require it. Only used in MH_EXECUTE filetypes. |
MH_APP_EXTENSION_SAFE | The code was linked for use in an application extension.. |
MH_NLIST_OUTOFSYNC_WITH_DYLDINFO | The external symbols listed in the nlist symbol table do not include all the symbols listed in the dyld info. |
MH_SIM_SUPPORT | Allow LC_MIN_VERSION_MACOS and LC_BUILD_VERSION load commands with the platforms macOS, iOSMac, iOSSimulator, tvOSSimulator and watchOSSimulator. |
MH_DYLIB_IN_CACHE | Only for use on dylibs. When this bit is set, the dylib is part of the dyld shared cache, rather than loose in the filesystem. |
Constants for the flags field of the mach_header