Expand description

“Nlist” style symbols in this binary - beware, like most symbol tables in most binary formats, they are strippable, and should not be relied upon, see the imports and exports modules for something more permanent.

Symbols are essentially a type, offset, and the symbol name

Structs

A zero-copy “nlist” style symbol table (“stab”), including the string table

Constants

1 thru 255 inclusive

symbol is not in any section

absolute, n_sect == NO_SECT

Sometimes used by the dynamic linker at runtime in a fully linked image. Do not set this bit in a fully linked image.

external symbol bit, set for external symbols

indirect

When set in a relocatable object file (file type MH_OBJECT) on a defined symbol, indicates to the static linker to never dead-strip the symbol.

prebound undefined (defined in a dylib)

private external symbol bit

defined in section number n_sect

if any of these bits set, a symbolic debugging entry

mask for the type bits

undefined, n_sect == NO_SECT

Indicates that this symbol is a weak definition. If the static linker or the dynamic linker finds another (non-weak) definition for this symbol, the weak definition is ignored. Only symbols in a coalesced section can be marked as a weak definition.

Indicates that this undefined symbol is a weak reference. If the dynamic linker cannot find a definition for this symbol, it sets the address of this symbol to 0. The static linker sets this symbol given the appropriate weak-linking flags.

Must be set for any defined symbol that is referenced by dynamic-loader APIs (such as dlsym and NSLookupSymbolInImage) and not ordinary undefined symbol references. The strip tool uses this bit to avoid removing symbols that must exist: If the symbol has this bit set, strip does not strip it.

This symbol is defined in this module.

This symbol is defined in this module and is visible only to modules within this shared library.

This symbol is defined in another module in this file, is a lazy (function) symbol, and is visible only to modules within this shared library.

This symbol is defined in another module in this file, is a non-lazy (data) symbol, and is visible only to modules within this shared library.

This symbol is a reference to an external lazy symbol—that is, to a function call.

This symbol is a reference to an external non-lazy (data) symbol.

Mask for reference flags of n_desc field.

Functions