The symbol descriptor is the character which follows the colon in many stabs, and which tells what kind of stab it is. See String Field, for more information about their use.
Variable on the stack; see Stack Variables.
C++ nested symbol; see See Nested Symbols.
Parameter passed by reference in register; see Reference Parameters.
Based variable; see Based Variables.
Constant; see Constants.
Conformant array bound (Pascal, maybe other languages); Conformant Arrays. Name of a caught exception (GNU C++). These can be
distinguished because the latter uses
N_CATCH and the former uses
another symbol type.
Floating point register variable; see Register Variables.
Parameter in floating point register; see Register Parameters.
File scope function; see Procedures.
Global function; see Procedures.
Global variable; see Global Variables.
See Register Parameters.
Internal (nested) procedure; see Nested Procedures.
Internal (nested) function; see Nested Procedures.
Label name (documented by AIX, no further information known).
Module; see Procedures.
Argument list parameter; see Parameters.
Fortran Function parameter; see Parameters.
Unfortunately, three separate meanings have been independently invented
for this symbol descriptor. At least the GNU and Sun uses can be
distinguished by the symbol type. Global Procedure (AIX) (symbol type
used unknown); see Procedures. Register parameter (GNU) (symbol
N_PSYM); see Parameters. Prototype of function
referenced by this file (Sun
acc) (symbol type
Static Procedure; see Procedures.
Register parameter; see Register Parameters.
Register variable; see Register Variables.
File scope variable; see Statics.
Local variable (OS9000).
Type name; see Typedefs.
Enumeration, structure, or union tag; see Typedefs.
Parameter passed by reference; see Reference Parameters.
Procedure scope static variable; see Statics.
Conformant array; see Conformant Arrays.
Function return variable; see Parameters.