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.