syms(5) — RISC
Name
syms − MIPS symbol table
Syntax
#include < sym.h>
#include < symconst.h>
Description
Unlike the COFF symbol table, the MIPS symbol table consists of many tables unbundling information. The symbol table should be viewed as a network-style database designed for space and access efficiency.
The following structures or tables appear in the MIPS 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 info
Local symbols Local type, local variable, and scoping info
Local strings String space for local symbols
Line numbers Compacted by encoding, contains a line per instruction
Relative file descriptors Indirection for interfile symbol access
Optimization symbols To be defined
Auxiliary symbols Variable data type information for each local symbol
External symbols Loader symbols (global text and data)
External strings String space for external symbols
Dense numbers Index pairs (file, symbol) for compiler use
External and local symbols contain the standard concept of a symbol as follows:
struct
{
longiss;/* index into string space */
longvalue;/* address, size, etc., depends on sc and st */
unsignedst: 6;/* symbol type (e.g. local, param, etc.) */
unsignedsc: 5;/* storage class (e.g. text, bss, etc.) */
unsignedreserved: 1;
unsignedindex;/* index to symbol or auxiliary tables */
};