Module goblin::mach::symbols [−][src]
“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 | |
| SymbolIterator | |
| Symbols | A zero-copy “nlist” style symbol table (“stab”), including the string table |
| SymbolsCtx |
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 |
| 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 |
| SIZEOF_NLIST_32 | |
| SIZEOF_NLIST_64 |
Functions
| n_type_to_str |