syms(4) Kernel Interfaces Manual syms(4)
NAME
syms - Symbol table
SYNOPSIS
#include <sym.h>
#include <symconst.h>
DESCRIPTION
The symbol table departs from the standard COFF symbol table. The symbol table consists of many tables unbundling information usually found
in the one COFF symbol table. The symbol table should be viewed as a handcrafted, network-style database designed for space and access
efficiency.
The following structures or tables appear in the symbol table:
--------------------------------------------------------------------------
Table Contents
--------------------------------------------------------------------------
Symbolic header Sizes and locations of all other tables
File descriptors Per file locations for other tables
Procedure descriptors Frame information and location of procedure
information
Local symbols Local type, local variable, and scoping informa-
tion
Local strings String space for local symbols
Line numbers Compacted by encoding, contains a line per
instruction
Relative file desc. Indirection for inter-file symbol access
Optimization symbols To be defined
Auxiliary symbols Data type information for local and external sym-
bols
External symbols Global text and data symbols
External strings String space for external symbols
Dense numbers Index pairs (file, symbol) for compiler use
(-oldc only)
--------------------------------------------------------------------------
External and local symbols are both represented using the following structure:
struct {
long iss; /* index into string space */
long value; /* address, size, etc.; depends on sc and st */
unsigned st: 6; /* symbol type (e.g., local, param, etc.) */
unsigned sc: 5; /* storage class (e.g., text, bss, etc.) */
unsigned reserved: 1;
unsigned index; /* index to symbol or auxiliary tables */ };
RELATED INFORMATION
ldfcn(4). delim off
syms(4)