STABS

Node:Symbol Types Index

## Symbol Types Index

- `.bb`: Block Structure
- `.be`: Block Structure
- `C_BCOMM`: Common Blocks
- `C_BINCL`: Include Files
- `C_BLOCK`: Block Structure
- `C_BSTAT`: Statics
- `C_DECL, for types`: Typedefs
- `C_ECOML`: Common Blocks
- `C_ECOMM`: Common Blocks
- `C_EINCL`: Include Files
- `C_ENTRY`: Alternate Entry Points
- `C_ESTAT`: Statics
- `C_FILE`: Source Files
- `C_FUN`: Procedures
- `C_GSYM`: Global Variables
- `C_LSYM`: Stack Variables
- `C_PSYM`: Parameters
- `C_RPSYM`: Register Parameters
- `C_RSYM`: Register Variables
- `C_STSYM`: Statics
- `N_BCOMM`: Common Blocks
- `N_BINCL`: Include Files
- `N_BROWS`: N_BROWS
- `N_BSLINE`: Line Numbers
- `N_CATCH`: N_CATCH
- `N_DEFD`: N_DEFD
- `N_DSLINE`: Line Numbers
- `N_ECOML`: Common Blocks
- `N_ECOMM`: Common Blocks
- `N_EHDECL`: N_EHDECL
- `N_EINCL`: Include Files
- `N_ENTRY`: Alternate Entry Points
- `N_EXCL`: Include Files
- `N_FNAME`: Procedures
- `N_FUN, for functions`: Procedures
- `N_FUN, for variables`: Statics
- `N_GSYM`: Global Variables
- `N_GSYM, for functions (Sun acc)`: Procedures
- `N_LBRAC`: Block Structure
- `N_LCSYM`: Statics
- `N_LENG`: N_LENG
- `N_LSYM, for parameter`: Local Variable Parameters
- `N_LSYM, for stack variables`: Stack Variables
- `N_LSYM, for types`: Typedefs
- `N_M2C`: N_M2C
- `N_MAIN`: Main Program
- `N_MOD2`: N_MOD2
- `N_NBBSS`: Gould
- `N_NBDATA`: Gould
- `N_NBLCS`: Gould
- `N_NBSTS`: Gould
- `N_NBTEXT`: Gould
- `N_NOMAP`: N_NOMAP
- `N_NSYMS`: N_NSYMS
- `N_PC`: N_PC
- `N_PSYM`: Parameters
- `N_RBRAC`: Block Structure
- `N_ROSYM`: Statics
- `N_RSYM`: Register Variables
- `N_RSYM, for parameters`: Register Parameters
- `N_SCOPE`: N_SCOPE
- `N_SLINE`: Line Numbers
- `N_SO`: Source Files
- `N_SOL`: Include Files
- `N_SSYM`: N_SSYM
- `N_STSYM`: Statics
- `N_STSYM, for functions (Sun acc)`: Procedures

## Table of Contents

- Overview of Stabs
  - Overview of Debugging Information Flow
  - Overview of Stab Format
  - The String Field
  - A Simple Example in C Source
  - The Simple Example at the Assembly Level
- Encoding the Structure of the Program
  - Main Program
  - Paths and Names of the Source Files
  - Names of Include Files
  - Line Numbers
  - Procedures
  - Nested Procedures
  - Block Structure
  - Alternate Entry Points
- Constants
- Variables
  - Automatic Variables Allocated on the Stack
  - Global Variables
  - Register Variables
  - Common Blocks
  - Static Variables
  - Fortran Based Variables
  - Parameters
    - Passing Parameters in Registers
    - Storing Parameters as Local Variables
    - Passing Parameters by Reference
    - Passing Conformant Array Parameters
- Defining Types
  - Builtin Types
    - Traditional Builtin Types
      - Traditional Integer Types
      - Traditional Other Types
    - Defining Builtin Types Using Builtin Type Descriptors
    - Negative Type Numbers
  - Miscellaneous Types
  - Cross-References to Other Types
  - Subrange Types
  - Array Types
  - Strings
  - Enumerations
  - Structures
  - Giving a Type a Name
  - Unions
  - Function Types
- Symbol Information in Symbol Tables
  - Symbol Table Format
  - Transformations on Symbol Tables
    - Transformations on Static Variables
    - Transformations on Global Variables
    - Transformations of Stabs in separate sections
- GNU C++ Stabs
  - C++ Class Names
  - Defining a Symbol Within Another Type
  - Basic Types For C++
  - Simple Class Definition
  - Class Instance
  - Method Definition
  - The `#` Type Descriptor
  - The `@` Type Descriptor
  - Protections
  - Method Modifiers (`const`, `volatile`, `const volatile`)
  - Virtual Methods
  - Inheritance
  - Virtual Base Classes
  - Static Members
- Table of Stab Types
  - Non-Stab Symbol Types
  - Stab Symbol Types
- Table of Symbol Descriptors
- Table of Type Descriptors
- Expanded Reference by Stab Type
  - N_PC
  - N_NSYMS
  - N_NOMAP
  - N_M2C
  - N_BROWS
  - N_DEFD
  - N_EHDECL
  - N_MOD2
  - N_CATCH
  - N_SSYM
  - N_SCOPE
  - Non-base registers on Gould systems
  - N_LENG
- Questions and Anomalies
- Using Stabs in Their Own Sections
  - How to Embed Stabs in Sections
  - Having the Linker Relocate Stabs in ELF
- Symbol Types Index