### A.2 Stab Symbol Types ¶

The following symbol types indicate that this is a stab. This is the full list of stab numbers, including stab types that are used in languages other than C.

`0x20 N_GSYM`

  Global symbol; see Global Variables.

`0x22 N_FNAME`

  Function name (for BSD Fortran); see Procedures.

`0x24 N_FUN`

  Function name (see Procedures) or text segment variable (see Static Variables).

`0x26 N_STSYM`

  Data segment file-scope variable; see Static Variables.

`0x28 N_LCSYM`

  BSS segment file-scope variable; see Static Variables.

`0x2a N_MAIN`

  Name of main routine; see Main Program.

`0x2c N_ROSYM`

  Variable in `.rodata` section; see Static Variables.

`0x30 N_PC`

  Global symbol (for Pascal); see N_PC.

`0x32 N_NSYMS`

  Number of symbols (according to Ultrix V4.0); see N_NSYMS.

`0x34 N_NOMAP`

  No DST map; see N_NOMAP.

`0x36 N_MAC_DEFINE`

  Name and body of a `#define`d macro; see Representation of #define and #undef.

`0x38 N_OBJ`

  Object file (Solaris2).

`0x3a N_MAC_UNDEF`

  Name of an `#undef`ed macro; see Representation of #define and #undef.

`0x3c N_OPT`

  Debugger options (Solaris2).

`0x40 N_RSYM`

  Register variable; see Register Variables.

`0x42 N_M2C`

  Modula-2 compilation unit; see N_M2C.

`0x44 N_SLINE`

  Line number in text segment; see Line Numbers.

`0x46 N_DSLINE`

  Line number in data segment; see Line Numbers.

`0x48 N_BSLINE`

  Line number in bss segment; see Line Numbers.

`0x48 N_BROWS`

  Sun source code browser, path to `.cb` file; see N_BROWS.

`0x4a N_DEFD`

  GNU Modula2 definition module dependency; see N_DEFD.

`0x4c N_FLINE`

  Function start/body/end line numbers (Solaris2).

`0x50 N_EHDECL`

  GNU C`++` exception variable; see N_EHDECL.

`0x50 N_MOD2`

  Modula2 info "for imc" (according to Ultrix V4.0); see N_MOD2.

`0x54 N_CATCH`

  GNU C`++` `catch` clause; see N_CATCH.

`0x60 N_SSYM`

  Structure of union element; see N_SSYM.

`0x62 N_ENDM`

  Last stab for module (Solaris2).

`0x64 N_SO`

  Path and name of source file; see Paths and Names of the Source Files.

`0x80 N_LSYM`

  Stack variable (see Automatic Variables Allocated on the Stack) or type (see Giving a Type a Name).

`0x82 N_BINCL`

  Beginning of an include file (Sun only); see Names of Include Files.

`0x84 N_SOL`

  Name of include file; see Names of Include Files.

`0xa0 N_PSYM`

  Parameter variable; see Parameters.

`0xa2 N_EINCL`

  End of an include file; see Names of Include Files.

`0xa4 N_ENTRY`

  Alternate entry point; see Alternate Entry Points.

`0xc0 N_LBRAC`

  Beginning of a lexical block; see Block Structure.

`0xc2 N_EXCL`

  Place holder for a deleted include file; see Names of Include Files.

`0xc4 N_SCOPE`

  Modula2 scope information (Sun linker); see N_SCOPE.

`0xe0 N_RBRAC`

  End of a lexical block; see Block Structure.

`0xe2 N_BCOMM`

  Begin named common block; see Common Blocks.

`0xe4 N_ECOMM`

  End named common block; see Common Blocks.

`0xe8 N_ECOML`

  Member of a common block; see Common Blocks.

`0xea N_WITH`

  Pascal `with` statement: type,,0,0,offset (Solaris2).

`0xf0 N_NBTEXT`

  Gould non-base registers; see Non-base registers on Gould systems.

`0xf2 N_NBDATA`

  Gould non-base registers; see Non-base registers on Gould systems.

`0xf4 N_NBBSS`

  Gould non-base registers; see Non-base registers on Gould systems.

`0xf6 N_NBSTS`

  Gould non-base registers; see Non-base registers on Gould systems.

`0xf8 N_NBLCS`

  Gould non-base registers; see Non-base registers on Gould systems.