Annotation of researchv10no/cmd/ccom/vax/debug.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * For trancendental debugger pi; compatible with sdb(1).
                      3:  *
                      4:  * This file gives definitions supplementing <a.out.h> for permanent
                      5:  * symbol table entries.  These must have one of the N_STAB bits on,
                      6:  * and are subject to relocation according to the masks in <a.out.h>.
                      7:  *
                      8:  * IF YOU ADD DEFINITIONS, ADD THEM TO nm.c as well
                      9:  *
                     10:  * stabs for text symbols (must be 0x?4):
                     11:  */
                     12: #define        N_BFUN  0x24            /* procedure: name,,0,lineno,address */
                     13: #define        N_FUN   0x24
                     14: #define        N_NARGS 0x34            /* function call: ,,0,nbytes,address */
                     15: #define        N_SLINE 0x44            /* src line: ,,0,lineno,address */
                     16: #define        N_SO    0x64            /* source file: name,,0,lineno,address */
                     17: #define        N_SOL   0x84            /* #include file: name,,0,lineno,address */
                     18: #define        N_ESO   0x94            /* end source file: name,,0,lineno,address */
                     19: #define        N_ENTRY 0xa4            /* alternate entry: name,,0,lineno,address */
                     20: #define        N_RFUN  0xb4            /* return from function:  ,,0,lineno,address */
                     21: #define        N_LBRAC 0xc4            /* left  bracket: ,,0,level,address */
                     22: #define        N_RBRAC 0xd4            /* right bracket: ,,0,level,address */
                     23: #define        N_EFUN  0xf4            /* end of function: name,,0,lineno,address */
                     24: /*
                     25:  * stabs for data symbols (must be 0x?6):
                     26:  */
                     27: #define        N_STSYM 0x26            /* static symbol: name,,0,type,address */
                     28: /*
                     29:  * stabs for bss symbols (must be 0x?8):
                     30:  */
                     31: #define        N_LCSYM 0x28            /* .lcomm symbol: name,,0,type,address */
                     32: #define        N_ECOML 0xe8            /* end common (local name): ,,address */
                     33: /*
                     34:  * stabs for non-relocated stuff:
                     35:  */
                     36: #define        N_GSYM  0x20            /* global symbol: name,,0,type,0 */
                     37: #define        N_FNAME 0x22            /* procedure name (f77 kludge): name,,0 */
                     38: #define N_STFUN        0x32            /* static function: name,,0,type,0 */
                     39: #define        N_RSYM  0x40            /* register sym: name,,0,type,register */
                     40: #define        N_BSTR  0x5c            /* begin structure: name,,0,type,length */
                     41: #define        N_ESTR  0x5e            /*  end  structure: name,,0,type,length */
                     42: #define        N_SSYM  0x60            /* structure elt: name,,0,type,offset */
                     43: #define        N_SFLD  0x70            /* structure field: name,,0,type,offset */
                     44: #define        N_LSYM  0x80            /* local sym: name,,0,type,offset */
                     45: #define        N_PSYM  0xa0            /* parameter: name,,0,type,offset */
                     46: /*             0xc0            /* former N_LBRAC */
                     47: /*             0xe0            /* former N_RBRAC */
                     48: #define        N_BCOMM 0xe2            /* begin common: name,, */
                     49: #define        N_ECOMM 0xe4            /* end common: name,, */
                     50: #define        N_VER   0xf0            /* symbol table version number */
                     51: #define        N_TYID  0xfa            /* struct, union, or enum name */
                     52: #define        N_DIM   0xfc            /* dimension for arrays */
                     53: #define        N_LENG  0xfe            /* second stab entry with length information */
                     54: 
                     55: /*
                     56:  * for the berkeley pascal compiler, pc(1):
                     57:  */
                     58: #define        N_PC    0x30            /* global pascal symbol: name,,0,subtype,line */
                     59: 
                     60: #ifdef DESCSYMBS
                     61: 
                     62: /* this stuff is taken from mfile1.h */
                     63: 
                     64: /*     type names, used in symbol table building */
                     65: # define TNULL 0
                     66: # define FARG 1
                     67: # define CHAR 2
                     68: # define SHORT 3
                     69: # define INT 4
                     70: # define LONG 5
                     71: # define FLOAT 6
                     72: # define DOUBLE 7
                     73: # define STRTY 8
                     74: # define UNIONTY 9
                     75: # define ENUMTY 10
                     76: # define MOETY 11
                     77: # define UCHAR 12
                     78: # define USHORT 13
                     79: # define UNSIGNED 14
                     80: # define ULONG 15
                     81: # define VOID 16
                     82: # define UNDEF 17
                     83: 
                     84: /*     type modifiers */
                     85: 
                     86: # define PTR  040
                     87: # define FTN  0100
                     88: # define ARY  0140
                     89: 
                     90: /*     type packing constants */
                     91: 
                     92: # define MTMASK 03
                     93: # define BTMASK 037
                     94: # define BTSHIFT 5 
                     95: # define TSHIFT 2
                     96: # define TMASK (MTMASK<<BTSHIFT)
                     97: # define TMASK1 (MTMASK<<(BTSHIFT+TSHIFT))
                     98: 
                     99: # define BTYPE(x)  ((x)&BTMASK)   /* basic type of x */
                    100: 
                    101: #endif DESCSYMBS
                    102: 
                    103: #ifdef DESCNAMES
                    104: 
                    105: char *basenames[] = {
                    106:        "<null>",       /*  0 */
                    107:        "<arg>",        /*  1 function argument         */
                    108:        "char",         /*  2 */
                    109:        "short",        /*  3 */
                    110:        "int",          /*  4 */
                    111:        "long",         /*  5 */
                    112:        "float",        /*  6 */
                    113:        "double",       /*  7 */
                    114:        "struct",       /*  8 */
                    115:        "union",        /*  9 */
                    116:        "enum",         /* 10 */
                    117:        "memen",        /* 11 member of enumeration     */
                    118:        "u_char",       /* 12 unsigned character        */
                    119:        "u_short",      /* 13 */
                    120:        "u_int",        /* 14 */
                    121:        "u_long",       /* 15 */
                    122:        "void",         /* 16 */
                    123:        "<undef>",      /* 17 */
                    124:        "<???>"
                    125: };
                    126: 
                    127: char qualchars[] = {
                    128:        '\0',   /* 0 none       */
                    129:        '*',    /* 1 pointer    */
                    130:        '(',    /* 2 function   */
                    131:        '[',    /* 3 array      */
                    132: };
                    133: 
                    134: #endif DESCNAMES

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.