OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [gdb/] [doc/] [stabs.info] - Diff between revs 330 and 342

Show entire file | Details | Blame | View Log

Rev 330 Rev 342
Line 1... Line 1...
This is stabs.info, produced by makeinfo version 4.8 from
This is stabs.info, produced by makeinfo version 4.13 from
./stabs.texinfo.
./stabs.texinfo.
 
 
INFO-DIR-SECTION Software development
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
START-INFO-DIR-ENTRY
* Stabs: (stabs).                 The "stabs" debugging information format.
* Stabs: (stabs).                 The "stabs" debugging information format.
Line 144... Line 144...
     .stabn TYPE,OTHER,DESC,VALUE
     .stabn TYPE,OTHER,DESC,VALUE
     .stabd TYPE,OTHER,DESC
     .stabd TYPE,OTHER,DESC
     .stabx "STRING",VALUE,TYPE,SDB-TYPE
     .stabx "STRING",VALUE,TYPE,SDB-TYPE
 
 
   For `.stabn' and `.stabd', there is no STRING (the `n_strx' field is
   For `.stabn' and `.stabd', there is no STRING (the `n_strx' field is
zero; see *Note Symbol Tables::).  For `.stabd', the VALUE field is
zero; see *note Symbol Tables::).  For `.stabd', the VALUE field is
implicit and has the value of the current file location.  For `.stabx',
implicit and has the value of the current file location.  For `.stabx',
the SDB-TYPE field is unused for stabs and can always be set to zero.
the SDB-TYPE field is unused for stabs and can always be set to zero.
The OTHER field is almost always unused and can be set to zero.
The OTHER field is almost always unused and can be set to zero.
 
 
   The number in the TYPE field gives some basic information about
   The number in the TYPE field gives some basic information about
Line 185... Line 185...
 
 
   The SYMBOL-DESCRIPTOR following the `:' is an alphabetic character
   The SYMBOL-DESCRIPTOR following the `:' is an alphabetic character
that tells more specifically what kind of symbol the stab represents.
that tells more specifically what kind of symbol the stab represents.
If the SYMBOL-DESCRIPTOR is omitted, but type information follows, then
If the SYMBOL-DESCRIPTOR is omitted, but type information follows, then
the stab represents a local variable.  For a list of symbol
the stab represents a local variable.  For a list of symbol
descriptors, see *Note Symbol Descriptors::.  The `c' symbol descriptor
descriptors, see *note Symbol Descriptors::.  The `c' symbol descriptor
is an exception in that it is not followed by type information.  *Note
is an exception in that it is not followed by type information.  *Note
Constants::.
Constants::.
 
 
   TYPE-INFORMATION is either a TYPE-NUMBER, or `TYPE-NUMBER='.  A
   TYPE-INFORMATION is either a TYPE-NUMBER, or `TYPE-NUMBER='.  A
TYPE-NUMBER alone is a type reference, referring directly to a type
TYPE-NUMBER alone is a type reference, referring directly to a type
Line 206... Line 206...
is non-numeric then it is a TYPE-DESCRIPTOR, and tells what kind of
is non-numeric then it is a TYPE-DESCRIPTOR, and tells what kind of
type is about to be defined.  Any other values following the
type is about to be defined.  Any other values following the
TYPE-DESCRIPTOR vary, depending on the TYPE-DESCRIPTOR.  *Note Type
TYPE-DESCRIPTOR vary, depending on the TYPE-DESCRIPTOR.  *Note Type
Descriptors::, for a list of TYPE-DESCRIPTOR values.  If a number
Descriptors::, for a list of TYPE-DESCRIPTOR values.  If a number
follows the `=' then the number is a TYPE-REFERENCE.  For a full
follows the `=' then the number is a TYPE-REFERENCE.  For a full
description of types, *Note Types::.
description of types, *note Types::.
 
 
   A TYPE-NUMBER is often a single number.  The GNU and Sun tools
   A TYPE-NUMBER is often a single number.  The GNU and Sun tools
additionally permit a TYPE-NUMBER to be a pair
additionally permit a TYPE-NUMBER to be a pair
(FILE-NUMBER,FILETYPE-NUMBER) (the parentheses appear in the string,
(FILE-NUMBER,FILETYPE-NUMBER) (the parentheses appear in the string,
and serve to distinguish the two cases).  The FILE-NUMBER is 0 for the
and serve to distinguish the two cases).  The FILE-NUMBER is 0 for the
base source file, 1 for the first included file, 2 for the next, and so
base source file, 1 for the first included file, 2 for the next, and so
on.  The FILETYPE-NUMBER is a number starting with 1 which is
on.  The FILETYPE-NUMBER is a number starting with 1 which is
incremented for each new type defined in the file.  (Separating the
incremented for each new type defined in the file.  (Separating the
file number and the type number permits the `N_BINCL' optimization to
file number and the type number permits the `N_BINCL' optimization to
succeed more often; see *Note Include Files::).
succeed more often; see *note Include Files::).
 
 
   There is an AIX extension for type attributes.  Following the `='
   There is an AIX extension for type attributes.  Following the `='
are any number of type attributes.  Each one starts with `@' and ends
are any number of type attributes.  Each one starts with `@' and ends
with `;'.  Debuggers, including AIX's dbx and GDB 4.10, skip any type
with `;'.  Debuggers, including AIX's dbx and GDB 4.10, skip any type
attributes they do not recognize.  GDB 4.9 and other versions of dbx
attributes they do not recognize.  GDB 4.9 and other versions of dbx
Line 573... Line 573...
the address can be found from the ELF (non-stab) symbol.  Because
the address can be found from the ELF (non-stab) symbol.  Because
looking things up in the ELF symbols would probably be slow, I'm not
looking things up in the ELF symbols would probably be slow, I'm not
sure how to find which symbol of that name is the right one, and this
sure how to find which symbol of that name is the right one, and this
doesn't provide any way to deal with nested functions, it would
doesn't provide any way to deal with nested functions, it would
probably be better to make the value of the stab an address relative to
probably be better to make the value of the stab an address relative to
the start of the file, or just absolute.  See *Note ELF Linker
the start of the file, or just absolute.  See *note ELF Linker
Relocation:: for more information on linker relocation of stabs in ELF
Relocation:: for more information on linker relocation of stabs in ELF
files.  For XCOFF, the stab uses the `C_FUN' storage class and the
files.  For XCOFF, the stab uses the `C_FUN' storage class and the
value of the stab is meaningless; the address of the function can be
value of the stab is meaningless; the address of the function can be
found from the csect symbol (XTY_LD/XMC_PR).
found from the csect symbol (XTY_LD/XMC_PR).
 
 
Line 846... Line 846...
variables use the `N_LSYM' stab type, or `C_LSYM' for XCOFF.
variables use the `N_LSYM' stab type, or `C_LSYM' for XCOFF.
 
 
   The value of the stab is the offset of the variable within the local
   The value of the stab is the offset of the variable within the local
variables.  On most machines this is an offset from the frame pointer
variables.  On most machines this is an offset from the frame pointer
and is negative.  The location of the stab specifies which block it is
and is negative.  The location of the stab specifies which block it is
defined in; see *Note Block Structure::.
defined in; see *note Block Structure::.
 
 
   For example, the following C code:
   For example, the following C code:
 
 
     int
     int
     main ()
     main ()
Line 863... Line 863...
     .stabs "main:F1",36,0,0,_main   # 36 is N_FUN
     .stabs "main:F1",36,0,0,_main   # 36 is N_FUN
     .stabs "x:1",128,0,0,-12        # 128 is N_LSYM
     .stabs "x:1",128,0,0,-12        # 128 is N_LSYM
     .stabn 192,0,0,LBB2             # 192 is N_LBRAC
     .stabn 192,0,0,LBB2             # 192 is N_LBRAC
     .stabn 224,0,0,LBE2             # 224 is N_RBRAC
     .stabn 224,0,0,LBE2             # 224 is N_RBRAC
 
 
   See *Note Procedures:: for more information on the `N_FUN' stab, and
   See *note Procedures:: for more information on the `N_FUN' stab, and
*Note Block Structure:: for more information on the `N_LBRAC' and
*note Block Structure:: for more information on the `N_LBRAC' and
`N_RBRAC' stabs.
`N_RBRAC' stabs.
 
 


File: stabs.info,  Node: Global Variables,  Next: Register Variables,  Prev: Stack Variables,  Up: Variables
File: stabs.info,  Node: Global Variables,  Next: Register Variables,  Prev: Stack Variables,  Up: Variables
 
 
Line 1678... Line 1678...
     Multiple instance type.  The type seems to composed of LENGTH
     Multiple instance type.  The type seems to composed of LENGTH
     repetitions of TYPE-INFORMATION, for example `character*3' is
     repetitions of TYPE-INFORMATION, for example `character*3' is
     represented by `M-2;3', where `-2' is a reference to a character
     represented by `M-2;3', where `-2' is a reference to a character
     type (*note Negative Type Numbers::).  I'm not sure how this
     type (*note Negative Type Numbers::).  I'm not sure how this
     differs from an array.  This appears to be a Fortran feature.
     differs from an array.  This appears to be a Fortran feature.
     LENGTH is a bound, like those in range types; see *Note
     LENGTH is a bound, like those in range types; see *note
     Subranges::.
     Subranges::.
 
 
`S TYPE-INFORMATION'
`S TYPE-INFORMATION'
     Pascal set type.  TYPE-INFORMATION must be a small type such as an
     Pascal set type.  TYPE-INFORMATION must be a small type such as an
     enumeration or a subrange, and the type is a bitmask whose length
     enumeration or a subrange, and the type is a bitmask whose length
Line 1706... Line 1706...
 
 
   Another way is with the `x' type descriptor, which is followed by
   Another way is with the `x' type descriptor, which is followed by
`s' for a structure tag, `u' for a union tag, or `e' for a enumerator
`s' for a structure tag, `u' for a union tag, or `e' for a enumerator
tag, followed by the name of the tag, followed by `:'.  If the name
tag, followed by the name of the tag, followed by `:'.  If the name
contains `::' between a `<' and `>' pair (for C++ templates), such a
contains `::' between a `<' and `>' pair (for C++ templates), such a
`::' does not end the name--only a single `:' ends the name; see *Note
`::' does not end the name--only a single `:' ends the name; see *note
Nested Symbols::.
Nested Symbols::.
 
 
   For example, the following C declarations:
   For example, the following C declarations:
 
 
     struct foo;
     struct foo;
Line 1768... Line 1768...
     The bound is passed by value in register number REGISTER-NUMBER.
     The bound is passed by value in register number REGISTER-NUMBER.
 
 
`J'
`J'
     There is no bound.
     There is no bound.
 
 
   Subranges are also used for builtin types; see *Note Traditional
   Subranges are also used for builtin types; see *note Traditional
Builtin Types::.
Builtin Types::.
 
 


File: stabs.info,  Node: Arrays,  Next: Strings,  Prev: Subranges,  Up: Types
File: stabs.info,  Node: Arrays,  Next: Strings,  Prev: Subranges,  Up: Types
 
 
Line 1914... Line 1914...
dbx.
dbx.
 
 
   There is no standard way to specify the size of an enumeration type;
   There is no standard way to specify the size of an enumeration type;
it is determined by the architecture (normally all enumerations types
it is determined by the architecture (normally all enumerations types
are 32 bits).  Type attributes can be used to specify an enumeration
are 32 bits).  Type attributes can be used to specify an enumeration
type of another size for debuggers which support them; see *Note String
type of another size for debuggers which support them; see *note String
Field::.
Field::.
 
 
   Enumeration types are unusual in that they define symbols for the
   Enumeration types are unusual in that they define symbols for the
enumeration values (`first', `second', and `third' in the above
enumeration values (`first', `second', and `third' in the above
example), and even though these symbols are visible in the file as a
example), and even though these symbols are visible in the file as a
Line 1988... Line 1988...
but then instead of a comma, bit position, comma, and bit size, there
but then instead of a comma, bit position, comma, and bit size, there
is a colon followed by the name of the variable which each such field
is a colon followed by the name of the variable which each such field
refers to.
refers to.
 
 
   If the structure has methods (a C++ feature), they follow the
   If the structure has methods (a C++ feature), they follow the
non-method fields; see *Note Cplusplus::.
non-method fields; see *note Cplusplus::.
 
 


File: stabs.info,  Node: Typedefs,  Next: Unions,  Prev: Structures,  Up: Types
File: stabs.info,  Node: Typedefs,  Next: Unions,  Prev: Structures,  Up: Types
 
 
5.9 Giving a Type a Name
5.9 Giving a Type a Name
Line 2499... Line 2499...
 
 
   When the field name is a method name it is followed by two colons
   When the field name is a method name it is followed by two colons
rather than one.  This is followed by a new type definition for the
rather than one.  This is followed by a new type definition for the
method.  This is a number followed by an equal sign and the type of the
method.  This is a number followed by an equal sign and the type of the
method.  Normally this will be a type declared using the `#' type
method.  Normally this will be a type declared using the `#' type
descriptor; see *Note Method Type Descriptor::; static member functions
descriptor; see *note Method Type Descriptor::; static member functions
are declared using the `f' type descriptor instead; see *Note Function
are declared using the `f' type descriptor instead; see *note Function
Types::.
Types::.
 
 
   The format of an overloaded operator method name differs from that of
   The format of an overloaded operator method name differs from that of
other methods.  It is `op$::OPERATOR-NAME.' where OPERATOR-NAME is the
other methods.  It is `op$::OPERATOR-NAME.' where OPERATOR-NAME is the
operator name such as `+' or `+='.  The name ends with a period, and
operator name such as `+' or `+='.  The name ends with a period, and
Line 3116... Line 3116...
The following symbol types indicate that this is a stab.  This is the
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
full list of stab numbers, including stab types that are used in
languages other than C.
languages other than C.
 
 
`0x20     N_GSYM'
`0x20     N_GSYM'
     Global symbol; see *Note Global Variables::.
     Global symbol; see *note Global Variables::.
 
 
`0x22     N_FNAME'
`0x22     N_FNAME'
     Function name (for BSD Fortran); see *Note Procedures::.
     Function name (for BSD Fortran); see *note Procedures::.
 
 
`0x24     N_FUN'
`0x24     N_FUN'
     Function name (*note Procedures::) or text segment variable (*note
     Function name (*note Procedures::) or text segment variable (*note
     Statics::).
     Statics::).
 
 
`0x26 N_STSYM'
`0x26 N_STSYM'
     Data segment file-scope variable; see *Note Statics::.
     Data segment file-scope variable; see *note Statics::.
 
 
`0x28 N_LCSYM'
`0x28 N_LCSYM'
     BSS segment file-scope variable; see *Note Statics::.
     BSS segment file-scope variable; see *note Statics::.
 
 
`0x2a N_MAIN'
`0x2a N_MAIN'
     Name of main routine; see *Note Main Program::.
     Name of main routine; see *note Main Program::.
 
 
`0x2c N_ROSYM'
`0x2c N_ROSYM'
     Variable in `.rodata' section; see *Note Statics::.
     Variable in `.rodata' section; see *note Statics::.
 
 
`0x30     N_PC'
`0x30     N_PC'
     Global symbol (for Pascal); see *Note N_PC::.
     Global symbol (for Pascal); see *note N_PC::.
 
 
`0x32     N_NSYMS'
`0x32     N_NSYMS'
     Number of symbols (according to Ultrix V4.0); see *Note N_NSYMS::.
     Number of symbols (according to Ultrix V4.0); see *note N_NSYMS::.
 
 
`0x34     N_NOMAP'
`0x34     N_NOMAP'
     No DST map; see *Note N_NOMAP::.
     No DST map; see *note N_NOMAP::.
 
 
`0x36     N_MAC_DEFINE'
`0x36     N_MAC_DEFINE'
     Name and body of a `#define'd macro; see *Note Macro define and
     Name and body of a `#define'd macro; see *note Macro define and
     undefine::.
     undefine::.
 
 
`0x38 N_OBJ'
`0x38 N_OBJ'
     Object file (Solaris2).
     Object file (Solaris2).
 
 
`0x3a     N_MAC_UNDEF'
`0x3a     N_MAC_UNDEF'
     Name of an `#undef'ed macro; see *Note Macro define and undefine::.
     Name of an `#undef'ed macro; see *note Macro define and undefine::.
 
 
`0x3c N_OPT'
`0x3c N_OPT'
     Debugger options (Solaris2).
     Debugger options (Solaris2).
 
 
`0x40     N_RSYM'
`0x40     N_RSYM'
     Register variable; see *Note Register Variables::.
     Register variable; see *note Register Variables::.
 
 
`0x42     N_M2C'
`0x42     N_M2C'
     Modula-2 compilation unit; see *Note N_M2C::.
     Modula-2 compilation unit; see *note N_M2C::.
 
 
`0x44     N_SLINE'
`0x44     N_SLINE'
     Line number in text segment; see *Note Line Numbers::.
     Line number in text segment; see *note Line Numbers::.
 
 
`0x46     N_DSLINE'
`0x46     N_DSLINE'
     Line number in data segment; see *Note Line Numbers::.
     Line number in data segment; see *note Line Numbers::.
 
 
`0x48     N_BSLINE'
`0x48     N_BSLINE'
     Line number in bss segment; see *Note Line Numbers::.
     Line number in bss segment; see *note Line Numbers::.
 
 
`0x48     N_BROWS'
`0x48     N_BROWS'
     Sun source code browser, path to `.cb' file; see *Note N_BROWS::.
     Sun source code browser, path to `.cb' file; see *note N_BROWS::.
 
 
`0x4a     N_DEFD'
`0x4a     N_DEFD'
     GNU Modula2 definition module dependency; see *Note N_DEFD::.
     GNU Modula2 definition module dependency; see *note N_DEFD::.
 
 
`0x4c N_FLINE'
`0x4c N_FLINE'
     Function start/body/end line numbers (Solaris2).
     Function start/body/end line numbers (Solaris2).
 
 
`0x50     N_EHDECL'
`0x50     N_EHDECL'
     GNU C++ exception variable; see *Note N_EHDECL::.
     GNU C++ exception variable; see *note N_EHDECL::.
 
 
`0x50     N_MOD2'
`0x50     N_MOD2'
     Modula2 info "for imc" (according to Ultrix V4.0); see *Note
     Modula2 info "for imc" (according to Ultrix V4.0); see *note
     N_MOD2::.
     N_MOD2::.
 
 
`0x54     N_CATCH'
`0x54     N_CATCH'
     GNU C++ `catch' clause; see *Note N_CATCH::.
     GNU C++ `catch' clause; see *note N_CATCH::.
 
 
`0x60     N_SSYM'
`0x60     N_SSYM'
     Structure of union element; see *Note N_SSYM::.
     Structure of union element; see *note N_SSYM::.
 
 
`0x62 N_ENDM'
`0x62 N_ENDM'
     Last stab for module (Solaris2).
     Last stab for module (Solaris2).
 
 
`0x64     N_SO'
`0x64     N_SO'
     Path and name of source file; see *Note Source Files::.
     Path and name of source file; see *note Source Files::.
 
 
`0x80 N_LSYM'
`0x80 N_LSYM'
     Stack variable (*note Stack Variables::) or type (*note
     Stack variable (*note Stack Variables::) or type (*note
     Typedefs::).
     Typedefs::).
 
 
`0x82     N_BINCL'
`0x82     N_BINCL'
     Beginning of an include file (Sun only); see *Note Include Files::.
     Beginning of an include file (Sun only); see *note Include Files::.
 
 
`0x84     N_SOL'
`0x84     N_SOL'
     Name of include file; see *Note Include Files::.
     Name of include file; see *note Include Files::.
 
 
`0xa0     N_PSYM'
`0xa0     N_PSYM'
     Parameter variable; see *Note Parameters::.
     Parameter variable; see *note Parameters::.
 
 
`0xa2     N_EINCL'
`0xa2     N_EINCL'
     End of an include file; see *Note Include Files::.
     End of an include file; see *note Include Files::.
 
 
`0xa4     N_ENTRY'
`0xa4     N_ENTRY'
     Alternate entry point; see *Note Alternate Entry Points::.
     Alternate entry point; see *note Alternate Entry Points::.
 
 
`0xc0     N_LBRAC'
`0xc0     N_LBRAC'
     Beginning of a lexical block; see *Note Block Structure::.
     Beginning of a lexical block; see *note Block Structure::.
 
 
`0xc2     N_EXCL'
`0xc2     N_EXCL'
     Place holder for a deleted include file; see *Note Include Files::.
     Place holder for a deleted include file; see *note Include Files::.
 
 
`0xc4     N_SCOPE'
`0xc4     N_SCOPE'
     Modula2 scope information (Sun linker); see *Note N_SCOPE::.
     Modula2 scope information (Sun linker); see *note N_SCOPE::.
 
 
`0xe0     N_RBRAC'
`0xe0     N_RBRAC'
     End of a lexical block; see *Note Block Structure::.
     End of a lexical block; see *note Block Structure::.
 
 
`0xe2     N_BCOMM'
`0xe2     N_BCOMM'
     Begin named common block; see *Note Common Blocks::.
     Begin named common block; see *note Common Blocks::.
 
 
`0xe4     N_ECOMM'
`0xe4     N_ECOMM'
     End named common block; see *Note Common Blocks::.
     End named common block; see *note Common Blocks::.
 
 
`0xe8     N_ECOML'
`0xe8     N_ECOML'
     Member of a common block; see *Note Common Blocks::.
     Member of a common block; see *note Common Blocks::.
 
 
`0xea N_WITH'
`0xea N_WITH'
     Pascal `with' statement: type,,0,0,offset (Solaris2).
     Pascal `with' statement: type,,0,0,offset (Solaris2).
 
 
`0xf0     N_NBTEXT'
`0xf0     N_NBTEXT'
     Gould non-base registers; see *Note Gould::.
     Gould non-base registers; see *note Gould::.
 
 
`0xf2     N_NBDATA'
`0xf2     N_NBDATA'
     Gould non-base registers; see *Note Gould::.
     Gould non-base registers; see *note Gould::.
 
 
`0xf4     N_NBBSS'
`0xf4     N_NBBSS'
     Gould non-base registers; see *Note Gould::.
     Gould non-base registers; see *note Gould::.
 
 
`0xf6     N_NBSTS'
`0xf6     N_NBSTS'
     Gould non-base registers; see *Note Gould::.
     Gould non-base registers; see *note Gould::.
 
 
`0xf8     N_NBLCS'
`0xf8     N_NBLCS'
     Gould non-base registers; see *Note Gould::.
     Gould non-base registers; see *note Gould::.
 
 


File: stabs.info,  Node: Symbol Descriptors,  Next: Type Descriptors,  Prev: Stab Types,  Up: Top
File: stabs.info,  Node: Symbol Descriptors,  Next: Type Descriptors,  Prev: Stab Types,  Up: Top
 
 
Appendix B Table of Symbol Descriptors
Appendix B Table of Symbol Descriptors
Line 3273... Line 3273...
for more information about their use.
for more information about their use.
 
 
`DIGIT'
`DIGIT'
`('
`('
`-'
`-'
     Variable on the stack; see *Note Stack Variables::.
     Variable on the stack; see *note Stack Variables::.
 
 
`:'
`:'
     C++ nested symbol; see *Note Nested Symbols::.
     C++ nested symbol; see *Note Nested Symbols::.
 
 
`a'
`a'
     Parameter passed by reference in register; see *Note Reference
     Parameter passed by reference in register; see *note Reference
     Parameters::.
     Parameters::.
 
 
`b'
`b'
     Based variable; see *Note Based Variables::.
     Based variable; see *note Based Variables::.
 
 
`c'
`c'
     Constant; see *Note Constants::.
     Constant; see *note Constants::.
 
 
`C'
`C'
     Conformant array bound (Pascal, maybe other languages); *Note
     Conformant array bound (Pascal, maybe other languages); *note
     Conformant Arrays::.  Name of a caught exception (GNU C++).  These
     Conformant Arrays::.  Name of a caught exception (GNU C++).  These
     can be distinguished because the latter uses `N_CATCH' and the
     can be distinguished because the latter uses `N_CATCH' and the
     former uses another symbol type.
     former uses another symbol type.
 
 
`d'
`d'
     Floating point register variable; see *Note Register Variables::.
     Floating point register variable; see *note Register Variables::.
 
 
`D'
`D'
     Parameter in floating point register; see *Note Register
     Parameter in floating point register; see *note Register
     Parameters::.
     Parameters::.
 
 
`f'
`f'
     File scope function; see *Note Procedures::.
     File scope function; see *note Procedures::.
 
 
`F'
`F'
     Global function; see *Note Procedures::.
     Global function; see *note Procedures::.
 
 
`G'
`G'
     Global variable; see *Note Global Variables::.
     Global variable; see *note Global Variables::.
 
 
`i'
`i'
     *Note Register Parameters::.
     *Note Register Parameters::.
 
 
`I'
`I'
     Internal (nested) procedure; see *Note Nested Procedures::.
     Internal (nested) procedure; see *note Nested Procedures::.
 
 
`J'
`J'
     Internal (nested) function; see *Note Nested Procedures::.
     Internal (nested) function; see *note Nested Procedures::.
 
 
`L'
`L'
     Label name (documented by AIX, no further information known).
     Label name (documented by AIX, no further information known).
 
 
`m'
`m'
     Module; see *Note Procedures::.
     Module; see *note Procedures::.
 
 
`p'
`p'
     Argument list parameter; see *Note Parameters::.
     Argument list parameter; see *note Parameters::.
 
 
`pP'
`pP'
     *Note Parameters::.
     *Note Parameters::.
 
 
`pF'
`pF'
     Fortran Function parameter; see *Note Parameters::.
     Fortran Function parameter; see *note Parameters::.
 
 
`P'
`P'
     Unfortunately, three separate meanings have been independently
     Unfortunately, three separate meanings have been independently
     invented for this symbol descriptor.  At least the GNU and Sun
     invented for this symbol descriptor.  At least the GNU and Sun
     uses can be distinguished by the symbol type.  Global Procedure
     uses can be distinguished by the symbol type.  Global Procedure
     (AIX) (symbol type used unknown); see *Note Procedures::.
     (AIX) (symbol type used unknown); see *note Procedures::.
     Register parameter (GNU) (symbol type `N_PSYM'); see *Note
     Register parameter (GNU) (symbol type `N_PSYM'); see *note
     Parameters::.  Prototype of function referenced by this file (Sun
     Parameters::.  Prototype of function referenced by this file (Sun
     `acc') (symbol type `N_FUN').
     `acc') (symbol type `N_FUN').
 
 
`Q'
`Q'
     Static Procedure; see *Note Procedures::.
     Static Procedure; see *note Procedures::.
 
 
`R'
`R'
     Register parameter; see *Note Register Parameters::.
     Register parameter; see *note Register Parameters::.
 
 
`r'
`r'
     Register variable; see *Note Register Variables::.
     Register variable; see *note Register Variables::.
 
 
`S'
`S'
     File scope variable; see *Note Statics::.
     File scope variable; see *note Statics::.
 
 
`s'
`s'
     Local variable (OS9000).
     Local variable (OS9000).
 
 
`t'
`t'
     Type name; see *Note Typedefs::.
     Type name; see *note Typedefs::.
 
 
`T'
`T'
     Enumeration, structure, or union tag; see *Note Typedefs::.
     Enumeration, structure, or union tag; see *note Typedefs::.
 
 
`v'
`v'
     Parameter passed by reference; see *Note Reference Parameters::.
     Parameter passed by reference; see *note Reference Parameters::.
 
 
`V'
`V'
     Procedure scope static variable; see *Note Statics::.
     Procedure scope static variable; see *note Statics::.
 
 
`x'
`x'
     Conformant array; see *Note Conformant Arrays::.
     Conformant array; see *note Conformant Arrays::.
 
 
`X'
`X'
     Function return variable; see *Note Parameters::.
     Function return variable; see *note Parameters::.
 
 


File: stabs.info,  Node: Type Descriptors,  Next: Expanded Reference,  Prev: Symbol Descriptors,  Up: Top
File: stabs.info,  Node: Type Descriptors,  Next: Expanded Reference,  Prev: Symbol Descriptors,  Up: Top
 
 
Appendix C Table of Type Descriptors
Appendix C Table of Type Descriptors
Line 3388... Line 3388...
an equals sign.  It specifies what kind of type is being defined.
an equals sign.  It specifies what kind of type is being defined.
*Note String Field::, for more information about their use.
*Note String Field::, for more information about their use.
 
 
`DIGIT'
`DIGIT'
`('
`('
     Type reference; see *Note String Field::.
     Type reference; see *note String Field::.
 
 
`-'
`-'
     Reference to builtin type; see *Note Negative Type Numbers::.
     Reference to builtin type; see *note Negative Type Numbers::.
 
 
`#'
`#'
     Method (C++); see *Note Method Type Descriptor::.
     Method (C++); see *note Method Type Descriptor::.
 
 
`*'
`*'
     Pointer; see *Note Miscellaneous Types::.
     Pointer; see *note Miscellaneous Types::.
 
 
`&'
`&'
     Reference (C++).
     Reference (C++).
 
 
`@'
`@'
     Type Attributes (AIX); see *Note String Field::.  Member (class
     Type Attributes (AIX); see *note String Field::.  Member (class
     and variable) type (GNU C++); see *Note Member Type Descriptor::.
     and variable) type (GNU C++); see *note Member Type Descriptor::.
 
 
`a'
`a'
     Array; see *Note Arrays::.
     Array; see *note Arrays::.
 
 
`A'
`A'
     Open array; see *Note Arrays::.
     Open array; see *note Arrays::.
 
 
`b'
`b'
     Pascal space type (AIX); see *Note Miscellaneous Types::.  Builtin
     Pascal space type (AIX); see *note Miscellaneous Types::.  Builtin
     integer type (Sun); see *Note Builtin Type Descriptors::.  Const
     integer type (Sun); see *note Builtin Type Descriptors::.  Const
     and volatile qualified type (OS9000).
     and volatile qualified type (OS9000).
 
 
`B'
`B'
     Volatile-qualified type; see *Note Miscellaneous Types::.
     Volatile-qualified type; see *note Miscellaneous Types::.
 
 
`c'
`c'
     Complex builtin type (AIX); see *Note Builtin Type Descriptors::.
     Complex builtin type (AIX); see *note Builtin Type Descriptors::.
     Const-qualified type (OS9000).
     Const-qualified type (OS9000).
 
 
`C'
`C'
     COBOL Picture type.  See AIX documentation for details.
     COBOL Picture type.  See AIX documentation for details.
 
 
`d'
`d'
     File type; see *Note Miscellaneous Types::.
     File type; see *note Miscellaneous Types::.
 
 
`D'
`D'
     N-dimensional dynamic array; see *Note Arrays::.
     N-dimensional dynamic array; see *note Arrays::.
 
 
`e'
`e'
     Enumeration type; see *Note Enumerations::.
     Enumeration type; see *note Enumerations::.
 
 
`E'
`E'
     N-dimensional subarray; see *Note Arrays::.
     N-dimensional subarray; see *note Arrays::.
 
 
`f'
`f'
     Function type; see *Note Function Types::.
     Function type; see *note Function Types::.
 
 
`F'
`F'
     Pascal function parameter; see *Note Function Types::
     Pascal function parameter; see *note Function Types::
 
 
`g'
`g'
     Builtin floating point type; see *Note Builtin Type Descriptors::.
     Builtin floating point type; see *note Builtin Type Descriptors::.
 
 
`G'
`G'
     COBOL Group.  See AIX documentation for details.
     COBOL Group.  See AIX documentation for details.
 
 
`i'
`i'
     Imported type (AIX); see *Note Cross-References::.
     Imported type (AIX); see *note Cross-References::.
     Volatile-qualified type (OS9000).
     Volatile-qualified type (OS9000).
 
 
`k'
`k'
     Const-qualified type; see *Note Miscellaneous Types::.
     Const-qualified type; see *note Miscellaneous Types::.
 
 
`K'
`K'
     COBOL File Descriptor.  See AIX documentation for details.
     COBOL File Descriptor.  See AIX documentation for details.
 
 
`M'
`M'
     Multiple instance type; see *Note Miscellaneous Types::.
     Multiple instance type; see *note Miscellaneous Types::.
 
 
`n'
`n'
     String type; see *Note Strings::.
     String type; see *note Strings::.
 
 
`N'
`N'
     Stringptr; see *Note Strings::.
     Stringptr; see *note Strings::.
 
 
`o'
`o'
     Opaque type; see *Note Typedefs::.
     Opaque type; see *note Typedefs::.
 
 
`p'
`p'
     Procedure; see *Note Function Types::.
     Procedure; see *note Function Types::.
 
 
`P'
`P'
     Packed array; see *Note Arrays::.
     Packed array; see *note Arrays::.
 
 
`r'
`r'
     Range type; see *Note Subranges::.
     Range type; see *note Subranges::.
 
 
`R'
`R'
     Builtin floating type; see *Note Builtin Type Descriptors:: (Sun).
     Builtin floating type; see *note Builtin Type Descriptors:: (Sun).
     Pascal subroutine parameter; see *Note Function Types:: (AIX).
     Pascal subroutine parameter; see *note Function Types:: (AIX).
     Detecting this conflict is possible with careful parsing (hint: a
     Detecting this conflict is possible with careful parsing (hint: a
     Pascal subroutine parameter type will always contain a comma, and
     Pascal subroutine parameter type will always contain a comma, and
     a builtin type descriptor never will).
     a builtin type descriptor never will).
 
 
`s'
`s'
     Structure type; see *Note Structures::.
     Structure type; see *note Structures::.
 
 
`S'
`S'
     Set type; see *Note Miscellaneous Types::.
     Set type; see *note Miscellaneous Types::.
 
 
`u'
`u'
     Union; see *Note Unions::.
     Union; see *note Unions::.
 
 
`v'
`v'
     Variant record.  This is a Pascal and Modula-2 feature which is
     Variant record.  This is a Pascal and Modula-2 feature which is
     like a union within a struct in C.  See AIX documentation for
     like a union within a struct in C.  See AIX documentation for
     details.
     details.
 
 
`w'
`w'
     Wide character; see *Note Builtin Type Descriptors::.
     Wide character; see *note Builtin Type Descriptors::.
 
 
`x'
`x'
     Cross-reference; see *Note Cross-References::.
     Cross-reference; see *note Cross-References::.
 
 
`Y'
`Y'
     Used by IBM's xlC C++ compiler (for structures, I think).
     Used by IBM's xlC C++ compiler (for structures, I think).
 
 
`z'
`z'
     gstring; see *Note Strings::.
     gstring; see *note Strings::.
 
 


File: stabs.info,  Node: Expanded Reference,  Next: Questions,  Prev: Type Descriptors,  Up: Top
File: stabs.info,  Node: Expanded Reference,  Next: Questions,  Prev: Type Descriptors,  Up: Top
 
 
Appendix D Expanded Reference by Stab Type
Appendix D Expanded Reference by Stab Type
******************************************
******************************************
 
 
For a full list of stab types, and cross-references to where they are
For a full list of stab types, and cross-references to where they are
described, see *Note Stab Types::.  This appendix just covers certain
described, see *note Stab Types::.  This appendix just covers certain
stabs which are not yet described in the main body of this document;
stabs which are not yet described in the main body of this document;
eventually the information will all be in one place.
eventually the information will all be in one place.
 
 
   Format of an entry:
   Format of an entry:
 
 
Line 4491... Line 4491...
* N_STSYM, for functions (Sun acc):      Procedures.           (line  6)
* N_STSYM, for functions (Sun acc):      Procedures.           (line  6)
 
 
 
 


Tag Table:
Tag Table:
Node: Top1534
Node: Top1535
Node: Overview2581
Node: Overview2582
Node: Flow3996
Node: Flow3997
Node: Stabs Format5522
Node: Stabs Format5523
Node: String Field7084
Node: String Field7085
Node: C Example12515
Node: C Example12516
Node: Assembly Code13060
Node: Assembly Code13061
Node: Program Structure15031
Node: Program Structure15032
Node: Main Program15757
Node: Main Program15758
Node: Source Files16318
Node: Source Files16319
Node: Include Files18770
Node: Include Files18771
Node: Line Numbers21435
Node: Line Numbers21436
Node: Procedures22969
Node: Procedures22970
Node: Nested Procedures28859
Node: Nested Procedures28860
Node: Block Structure30035
Node: Block Structure30036
Node: Alternate Entry Points31441
Node: Alternate Entry Points31442
Node: Constants32174
Node: Constants32175
Node: Variables35286
Node: Variables35287
Node: Stack Variables35974
Node: Stack Variables35975
Node: Global Variables37675
Node: Global Variables37676
Node: Register Variables38831
Node: Register Variables38832
Node: Common Blocks39653
Node: Common Blocks39654
Node: Statics40907
Node: Statics40908
Node: Based Variables43486
Node: Based Variables43487
Node: Parameters44871
Node: Parameters44872
Node: Register Parameters46483
Node: Register Parameters46484
Node: Local Variable Parameters48744
Node: Local Variable Parameters48745
Node: Reference Parameters51659
Node: Reference Parameters51660
Node: Conformant Arrays52279
Node: Conformant Arrays52280
Node: Types52996
Node: Types52997
Node: Builtin Types53943
Node: Builtin Types53944
Node: Traditional Builtin Types55089
Node: Traditional Builtin Types55090
Node: Traditional Integer Types55490
Node: Traditional Integer Types55491
Node: Traditional Other Types57798
Node: Traditional Other Types57799
Node: Builtin Type Descriptors58712
Node: Builtin Type Descriptors58713
Node: Negative Type Numbers62212
Node: Negative Type Numbers62213
Node: Miscellaneous Types68567
Node: Miscellaneous Types68568
Node: Cross-References70453
Node: Cross-References70454
Node: Subranges72128
Node: Subranges72129
Node: Arrays73367
Node: Arrays73368
Node: Strings76592
Node: Strings76593
Node: Enumerations77654
Node: Enumerations77655
Node: Structures80039
Node: Structures80040
Node: Typedefs82746
Node: Typedefs82747
Node: Unions84070
Node: Unions84071
Node: Function Types85651
Node: Function Types85652
Node: Macro define and undefine87233
Node: Macro define and undefine87234
Node: Symbol Tables88810
Node: Symbol Tables88811
Node: Symbol Table Format89262
Node: Symbol Table Format89263
Node: Transformations On Symbol Tables90710
Node: Transformations On Symbol Tables90711
Node: Transformations On Static Variables92064
Node: Transformations On Static Variables92065
Node: Transformations On Global Variables92800
Node: Transformations On Global Variables92801
Node: Stab Section Transformations94043
Node: Stab Section Transformations94044
Node: Cplusplus95426
Node: Cplusplus95427
Node: Class Names96009
Node: Class Names96010
Node: Nested Symbols96754
Node: Nested Symbols96755
Node: Basic Cplusplus Types97600
Node: Basic Cplusplus Types97601
Node: Simple Classes99160
Node: Simple Classes99161
Node: Class Instance103454
Node: Class Instance103455
Node: Methods104171
Node: Methods104172
Node: Method Type Descriptor106390
Node: Method Type Descriptor106391
Node: Member Type Descriptor107590
Node: Member Type Descriptor107591
Node: Protections108382
Node: Protections108383
Node: Method Modifiers111472
Node: Method Modifiers111473
Node: Virtual Methods113100
Node: Virtual Methods113101
Node: Inheritance116901
Node: Inheritance116902
Node: Virtual Base Classes120597
Node: Virtual Base Classes120598
Node: Static Members122841
Node: Static Members122842
Node: Stab Types123311
Node: Stab Types123312
Node: Non-Stab Symbol Types123935
Node: Non-Stab Symbol Types123936
Node: Stab Symbol Types125366
Node: Stab Symbol Types125367
Node: Symbol Descriptors129297
Node: Symbol Descriptors129298
Node: Type Descriptors132076
Node: Type Descriptors132077
Node: Expanded Reference135288
Node: Expanded Reference135289
Node: N_PC136706
Node: N_PC136707
Node: N_NSYMS137074
Node: N_NSYMS137075
Node: N_NOMAP137315
Node: N_NOMAP137316
Node: N_M2C137621
Node: N_M2C137622
Node: N_BROWS138055
Node: N_BROWS138056
Node: N_DEFD138338
Node: N_DEFD138339
Node: N_EHDECL138795
Node: N_EHDECL138796
Node: N_MOD2139046
Node: N_MOD2139047
Node: N_CATCH139284
Node: N_CATCH139285
Node: N_SSYM139778
Node: N_SSYM139779
Node: N_SCOPE140063
Node: N_SCOPE140064
Node: Gould140253
Node: Gould140254
Node: N_LENG141245
Node: N_LENG141246
Node: Questions141473
Node: Questions141474
Node: Stab Sections143117
Node: Stab Sections143118
Node: Stab Section Basics143715
Node: Stab Section Basics143716
Node: ELF Linker Relocation147056
Node: ELF Linker Relocation147057
Node: GNU Free Documentation License150466
Node: GNU Free Documentation License150467
Node: Symbol Types Index175623
Node: Symbol Types Index175624


End Tag Table
End Tag Table

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.