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§
- Nlist
- Nlist32
- Nlist64
- Symbol
Iterator - Symbols
- A zero-copy “nlist” style symbol table (“stab”), including the string table
- Symbols
Ctx
Constants§
- MAX_
SECT - 1 thru 255 inclusive
- NLIST_
TYPE_ GLOBAL - NLIST_
TYPE_ LOCAL - NLIST_
TYPE_ MASK - NO_SECT
- symbol is not in any section
- N_ABS
- absolute, n_sect == NO_SECT
- N_AST
- N_BCOMM
- N_BINCL
- N_BNSYM
- N_
DESC_ DISCARDED - Sometimes used by the dynamic linker at runtime in a fully linked image. Do not set this bit in a fully linked image.
- N_ECOML
- N_ECOMM
- N_EINCL
- N_ENSYM
- N_ENTRY
- N_EXCL
- N_EXT
- external symbol bit, set for external symbols
- N_FNAME
- N_FUN
- N_GSYM
- N_INDR
- indirect
- N_LBRAC
- N_LCSYM
- N_LENG
- N_LSYM
- N_
NO_ DEAD_ STRIP - 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.
- N_
OLEVEL - N_OPT
- N_OSO
- N_
PARAMS - N_PBUD
- prebound undefined (defined in a dylib)
- N_PC
- N_PEXT
- private external symbol bit
- N_PSYM
- N_RBRAC
- N_RSYM
- N_SECT
- defined in section number n_sect
- N_SLINE
- N_SO
- N_SOL
- N_SSYM
- N_STAB
- if any of these bits set, a symbolic debugging entry
- N_STSYM
- N_TYPE
- mask for the type bits
- N_UNDF
- undefined, n_sect == NO_SECT
- N_
VERSION - N_
WEAK_ DEF - 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.
- N_
WEAK_ REF - 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.
- REFERENCED_
DYNAMICALLY - 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. - REFERENCE_
FLAG_ DEFINED - This symbol is defined in this module.
- REFERENCE_
FLAG_ PRIVATE_ DEFINED - This symbol is defined in this module and is visible only to modules within this shared library.
- REFERENCE_
FLAG_ PRIVATE_ UNDEFINED_ LAZY - 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.
- REFERENCE_
FLAG_ PRIVATE_ UNDEFINED_ NON_ LAZY - 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.
- REFERENCE_
FLAG_ UNDEFINED_ LAZY - This symbol is a reference to an external lazy symbol—that is, to a function call.
- REFERENCE_
FLAG_ UNDEFINED_ NON_ LAZY - This symbol is a reference to an external non-lazy (data) symbol.
- REFERENCE_
TYPE - Mask for reference flags of
n_desc
field. - SIZEOF_
NLIST_ 32 - SIZEOF_
NLIST_ 64