B2R2


MachFlag Type

Attribute of the file.

Record fields

Record Field Description

MHAllModsBound

Full Usage: MHAllModsBound

Field type: MachFlag
Modifiers: static

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.

Field type: MachFlag

MHAllowStackExecution

Full Usage: MHAllowStackExecution

Field type: MachFlag
Modifiers: static

When this bit is set, all stacks in the task will be given stack execution privilege. Only used in MHExecute filetypes.

Field type: MachFlag

MHAppExtensionSafe

Full Usage: MHAppExtensionSafe

Field type: MachFlag
Modifiers: static

The code was linked for use in an application extension.

Field type: MachFlag

MHBinDatLoad

Full Usage: MHBinDatLoad

Field type: MachFlag
Modifiers: static

The object file's undefined references are bound by the dynamic linker when loaded.

Field type: MachFlag

MHBindsToWeak

Full Usage: MHBindsToWeak

Field type: MachFlag
Modifiers: static

The final linked image uses weak symbols.

Field type: MachFlag

MHCanonical

Full Usage: MHCanonical

Field type: MachFlag
Modifiers: static

The binary has been canonicalized via the unprebind operation.

Field type: MachFlag

MHDYLDLink

Full Usage: MHDYLDLink

Field type: MachFlag
Modifiers: static

The object file is input for the dynamic linker and can't be statically link edited again.

Field type: MachFlag

MHDeadStrippableDYLIB

Full Usage: MHDeadStrippableDYLIB

Field type: MachFlag
Modifiers: static

Only for use on dylibs. When linking against a dylib that has this bit set, the static linker will automatically not create a LCLoadDyLib load command to the dylib if no symbols are being referenced from the dylib.

Field type: MachFlag

MHForceFlat

Full Usage: MHForceFlat

Field type: MachFlag
Modifiers: static

The executable is forcing all images to use flat name space bindings.

Field type: MachFlag

MHHasTLVDescriptors

Full Usage: MHHasTLVDescriptors

Field type: MachFlag
Modifiers: static

Contains a section of type ThreadLocalVariables.

Field type: MachFlag

MHIncrLink

Full Usage: MHIncrLink

Field type: MachFlag
Modifiers: static

The object file is the output of an incremental link against a base file and can't be linked against a base file and can't be link edited again.

Field type: MachFlag

MHLazyInit

Full Usage: MHLazyInit

Field type: MachFlag
Modifiers: static

the shared library init routine is to be run lazily via catching memory faults to its writeable segments (obsolete).

Field type: MachFlag

MHNoFixPrebinding

Full Usage: MHNoFixPrebinding

Field type: MachFlag
Modifiers: static

Do not have dyld notify the prebinding agent about this executable.

Field type: MachFlag

MHNoHeapExecution

Full Usage: MHNoHeapExecution

Field type: MachFlag
Modifiers: static

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 MHExecute filetypes.

Field type: MachFlag

MHNoMultiDefs

Full Usage: MHNoMultiDefs

Field type: MachFlag
Modifiers: static

This umbrella guarantees no multiple defintions of symbols in its sub-images so the two-level namespace hints can always be used.

Field type: MachFlag

MHNoReexportedDylibs

Full Usage: MHNoReexportedDylibs

Field type: MachFlag
Modifiers: static

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.

Field type: MachFlag

MHNoUndefs

Full Usage: MHNoUndefs

Field type: MachFlag
Modifiers: static

The object file has no undefined references.

Field type: MachFlag

MHPIE

Full Usage: MHPIE

Field type: MachFlag
Modifiers: static

When this bit is set, the OS will load the main executable at a random address.

Field type: MachFlag

MHPreBound

Full Usage: MHPreBound

Field type: MachFlag
Modifiers: static

The file has its dynamic undefined references prebound.

Field type: MachFlag

MHPrebindable

Full Usage: MHPrebindable

Field type: MachFlag
Modifiers: static

the binary is not prebound but can have its prebinding redone. only used when MHPreBound is not set.

Field type: MachFlag

MHRootSafe

Full Usage: MHRootSafe

Field type: MachFlag
Modifiers: static

When this bit is set, the binary declares it is safe for use in processes with uid zero.

Field type: MachFlag

MHSetUIDSafe

Full Usage: MHSetUIDSafe

Field type: MachFlag
Modifiers: static

When this bit is set, the binary declares it is safe for use in processes when issetugid() is true.

Field type: MachFlag

MHSplitSegs

Full Usage: MHSplitSegs

Field type: MachFlag
Modifiers: static

The file has its read-only and read-write segments split.

Field type: MachFlag

MHSubsectionsViaSymbols

Full Usage: MHSubsectionsViaSymbols

Field type: MachFlag
Modifiers: static

Safe to divide up the sections into sub-sections via symbols for dead code stripping.

Field type: MachFlag

MHTwoLevel

Full Usage: MHTwoLevel

Field type: MachFlag
Modifiers: static

The image is using two-level name space bindings.

Field type: MachFlag

MHWeakDefines

Full Usage: MHWeakDefines

Field type: MachFlag
Modifiers: static

The final linked image contains external weak symbols.

Field type: MachFlag