Header menu logo B2R2

MachFlag Type

Attribute of the file.

Record fields

Record Field Description

MH_ALLMODSBOUND

Full Usage: MH_ALLMODSBOUND

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

MH_ALLOW_STACK_EXECUTION

Full Usage: MH_ALLOW_STACK_EXECUTION

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_APP_EXTENSION_SAFE

Full Usage: MH_APP_EXTENSION_SAFE

Field type: MachFlag
Modifiers: static

The code was linked for use in an application extension.

Field type: MachFlag

MH_BINDATLOAD

Full Usage: MH_BINDATLOAD

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_BINDS_TO_WEAK

Full Usage: MH_BINDS_TO_WEAK

Field type: MachFlag
Modifiers: static

The final linked image uses weak symbols.

Field type: MachFlag

MH_CANONICAL

Full Usage: MH_CANONICAL

Field type: MachFlag
Modifiers: static

The binary has been canonicalized via the unprebind operation.

Field type: MachFlag

MH_DEAD_STRIPPABLE_DYLIB

Full Usage: MH_DEAD_STRIPPABLE_DYLIB

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 LC_LOAD_DYLIB load command to the dylib if no symbols are being referenced from the dylib.

Field type: MachFlag

MH_DYLDLINK

Full Usage: MH_DYLDLINK

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

MH_FORCE_FLAT

Full Usage: MH_FORCE_FLAT

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_HAS_TLV_DESCRIPTORS

Full Usage: MH_HAS_TLV_DESCRIPTORS

Field type: MachFlag
Modifiers: static

Contains a section of type ThreadLocalVariables.

Field type: MachFlag

MH_INCRLINK

Full Usage: MH_INCRLINK

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

MH_LAZY_INIT

Full Usage: MH_LAZY_INIT

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

MH_NOFIXPREBINDING

Full Usage: MH_NOFIXPREBINDING

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_NOMULTIDEFS

Full Usage: MH_NOMULTIDEFS

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

MH_NOUNDEFS

Full Usage: MH_NOUNDEFS

Field type: MachFlag
Modifiers: static

The object file has no undefined references.

Field type: MachFlag

MH_NO_HEAP_EXECUTION

Full Usage: MH_NO_HEAP_EXECUTION

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

Field type: MachFlag

MH_NO_REEXPORTED_DYLIBS

Full Usage: MH_NO_REEXPORTED_DYLIBS

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

MH_PIE

Full Usage: MH_PIE

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_PREBINDABLE

Full Usage: MH_PREBINDABLE

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_PREBOUND

Full Usage: MH_PREBOUND

Field type: MachFlag
Modifiers: static

The file has its dynamic undefined references prebound.

Field type: MachFlag

MH_ROOT_SAFE

Full Usage: MH_ROOT_SAFE

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

MH_SETUID_SAFE

Full Usage: MH_SETUID_SAFE

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

MH_SPLIT_SEGS

Full Usage: MH_SPLIT_SEGS

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_SUBSECTIONS_VIA_SYMBOLS

Full Usage: MH_SUBSECTIONS_VIA_SYMBOLS

Field type: MachFlag
Modifiers: static

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

Field type: MachFlag

MH_TWOLEVEL

Full Usage: MH_TWOLEVEL

Field type: MachFlag
Modifiers: static

The image is using two-level name space bindings.

Field type: MachFlag

MH_WEAK_DEFINES

Full Usage: MH_WEAK_DEFINES

Field type: MachFlag
Modifiers: static

The final linked image contains external weak symbols.

Field type: MachFlag

Type something to start searching.