1: /* 2: * Copyright (c) 1980 Regents of the University of California. 3: * All rights reserved. The Berkeley software License Agreement 4: * specifies the terms and conditions for redistribution. 5: * 6: * @(#)stab.h 5.1 (Berkeley) 5/30/85 7: */ 8: 9: /* IF YOU ADD DEFINITIONS, ADD THEM TO nm.c as well */ 10: /* 11: * This file gives definitions supplementing <a.out.h> 12: * for permanent symbol table entries. 13: * These must have one of the N_STAB bits on, 14: * and are subject to relocation according to the masks in <a.out.h>. 15: */ 16: /* 17: * for symbolic debugger, sdb(1): 18: */ 19: #define N_GSYM 0x20 /* global symbol: name,,0,type,0 */ 20: #define N_FNAME 0x22 /* procedure name (f77 kludge): name,,0 */ 21: #define N_FUN 0x24 /* procedure: name,,0,linenumber,address */ 22: #define N_STSYM 0x26 /* static symbol: name,,0,type,address */ 23: #define N_LCSYM 0x28 /* .lcomm symbol: name,,0,type,address */ 24: #define N_RSYM 0x40 /* register sym: name,,0,type,register */ 25: #define N_SLINE 0x44 /* src line: 0,,0,linenumber,address */ 26: #define N_SSYM 0x60 /* structure elt: name,,0,type,struct_offset */ 27: #define N_SO 0x64 /* source file name: name,,0,0,address */ 28: #define N_LSYM 0x80 /* local sym: name,,0,type,offset */ 29: #define N_SOL 0x84 /* #included file name: name,,0,0,address */ 30: #define N_PSYM 0xa0 /* parameter: name,,0,type,offset */ 31: #define N_ENTRY 0xa4 /* alternate entry: name,linenumber,address */ 32: #define N_LBRAC 0xc0 /* left bracket: 0,,0,nesting level,address */ 33: #define N_RBRAC 0xe0 /* right bracket: 0,,0,nesting level,address */ 34: #define N_BCOMM 0xe2 /* begin common: name,, */ 35: #define N_ECOMM 0xe4 /* end common: name,, */ 36: #define N_ECOML 0xe8 /* end common (local name): ,,address */ 37: #define N_LENG 0xfe /* second stab entry with length information */ 38: 39: /* 40: * for the berkeley pascal compiler, pc(1): 41: */ 42: #define N_PC 0x30 /* global pascal symbol: name,,0,subtype,line */