Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ syms(4) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



SYMS(4)                                                                SYMS(4)



NAME
     syms - MIPS symbol table

SYNOPSIS
     #include <sym.h>
     #include <symconst.h>

DESCRIPTION
     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 */
        };









                                                                        Page 1



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026