mach_header_64

No overview available.

Declaration

struct mach_header_64 {
    ...
};

Topics

Instance Properties

cpusubtype

An integer specifying the exact model of the CPU. To run on all PowerPC processors supported by the macOS kernel, this should be set to CPU_SUBTYPE_POWERPC_ALL.

flags

An integer containing a set of bit flags that indicate the state of certain optional features of the Mach-O file format. These are the masks you can use to manipulate this field:

  • MH_NOUNDEFS—The object file contained no undefined references when it was built.

  • MH_INCRLINK—The object file is the output of an incremental link against a base file and cannot be linked again.

  • MH_DYLDLINK—The file is input for the dynamic linker and cannot be statically linked again.

  • MH_TWOLEVEL—The image is using two-level namespace bindings.

  • MH_BINDATLOAD—The dynamic linker should bind the undefined references when the file is loaded.

  • MH_PREBOUND—The file’s undefined references are prebound.

  • MH_PREBINDABLE—This file is not prebound but can have its prebinding redone. Used only when MH_PREBEOUND is not set.

  • MH_NOFIXPREBINDING—The dynamic linker doesn’t notify the prebinding agent about this executable.

  • MH_ALLMODSBOUND—Indicates that this binary binds to all two-level namespace modules of its dependent libraries. Used only when MH_PREBINDABLE and MH_TWOLEVEL are set.

  • MH_CANONICAL—This file has been canonicalized by unprebinding—clearing prebinding information from the file. See the redo_prebinding man page for details.

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

  • MH_FORCE_FLAT—The executable is forcing all images to use flat namespace bindings.

  • MH_SUBSECTIONS_VIA_SYMBOLS—The sections of the object file can be divided into individual blocks. These blocks are dead-stripped if they are not used by other code. See “Linking” for details.

  • MH_NOMULTIDEFS—This umbrella guarantees there are no multiple definitions of symbols in its subimages. As a result, the two-level namespace hints can always be used.

magic

An integer containing a value identifying this file as a 64-bit Mach-O file. Use the constant MH_MAGIC_64 if the file is intended for use on a CPU with the same endianness as the computer on which the compiler is running. The constant MH_CIGAM_64 can be used when the byte ordering scheme of the target machine is the reverse of the host CPU.