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
striptool uses this bit to avoid removing symbols that must exist: If the symbol has this bit set,stripdoes 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_descfield.