SYMS(4) SYMS(4)
syms - MIPS symbol table
#include <sym.h>
#include <symconst.h>
The following information applies to the IRIX 4 COFF symbol table and,
for now, the .mdebug section found in 32-bit objects on IRIX 6. In a
future IRIX release, the .mdebug section will be replaced.
The MIPS 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
hand-crafted, 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 info 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 desc. indirection for inter-file symbol access.
optimization symbols to be defined.
auxiliary symbols variable data type info for each local symbol.
external symbols loader symbols (global text and data).
external strings string space for external symbols.
dense numbers (file, symbol) index pairs for compiler use.
External and local symbols contain the standard concept of a ``symbol''
as follows:
struct
{
long iss; /* index into string space */
long value; /* addr, size, etc., depends on sc & 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: 20; /* index into symbol or auxiliary table */
};
PPPPaaaaggggeeee 1111 [ Back ]
|