syms(4)

syms - MIPS symbol table

Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.19.

NAME
     syms - MIPS symbol table

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

DESCRIPTION
     This information is valid for o32 ABI only.

     The following information applies to the IRIX 5 and IRIX 6 .mdebug
     section found in o32 objects.

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

NOTES
     In a future IRIX release, the .mdebug section will be replaced.