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.