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
|