MH_NOUNDEFS

Constants for the flags field of the mach_header

Values

ValueMeaning
MH_NOUNDEFS

The object file has no undefined references.

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.

Meta