* stabs.texinfo (Enumerations): Talk about large, negative and

octal values.  Clean up cross reference to type attributes.
	(String Field): Say that GDB 4.11 supports size attribute.
This commit is contained in:
Jim Kingdon
1993-11-02 15:16:31 +00:00
parent ff852e1177
commit ae7016045f
2 changed files with 27 additions and 16 deletions

View File

@ -1,3 +1,9 @@
Tue Nov 2 09:08:37 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* stabs.texinfo (Enumerations): Talk about large, negative and
octal values. Clean up cross reference to type attributes.
(String Field): Say that GDB 4.11 supports size attribute.
Sun Oct 31 13:31:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com) Sun Oct 31 13:31:10 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* remote.texi (VxWorks Remote): Clarify that rebuilding VxWorks kernel * remote.texi (VxWorks Remote): Clarify that rebuilding VxWorks kernel

View File

@ -251,7 +251,8 @@ those from the C++ type descriptor @samp{@@}. The attributes are:
applies to all variables of this type. applies to all variables of this type.
@item s@var{size} @item s@var{size}
Size in bits of a variable of this type. Size in bits of a variable of this type. This is fully supported by GDB
4.11 and later.
@item p@var{integer} @item p@var{integer}
Pointer class (for checking). Not sure what this means, or how Pointer class (for checking). Not sure what this means, or how
@ -263,17 +264,17 @@ elements are placed more closely in memory, to save memory at the
expense of speed. expense of speed.
@end table @end table
All of this can make the string field quite long. All All of this can make the string field quite long. All versions of GDB,
versions of GDB, and some versions of dbx, can handle arbitrarily long and some versions of dbx, can handle arbitrarily long strings. But many
strings. But many versions of dbx cretinously limit the strings to versions of dbx (or assemblers or linkers, I'm not sure which)
about 80 characters, so compilers which must work with such dbx's need cretinously limit the strings to about 80 characters, so compilers which
to split the @code{.stabs} directive into several @code{.stabs} must work with such systems need to split the @code{.stabs} directive
directives. Each stab duplicates exactly all but the into several @code{.stabs} directives. Each stab duplicates every field
string field. The string field of except the string field. The string field of every stab except the last
every stab except the last is marked as continued with a is marked as continued with a backslash at the end (in the assembly code
double-backslash at the end. Removing the backslashes and concatenating this may be written as a double backslash, depending on the assembler).
the string fields of each stab produces the original, Removing the backslashes and concatenating the string fields of each
long string. stab produces the original, long string.
@node C Example @node C Example
@section A Simple Example in C Source @section A Simple Example in C Source
@ -1848,13 +1849,17 @@ structure, enumeration, or union tag. The type descriptor @samp{e},
following the @samp{22=} of the type definition narrows it down to an following the @samp{22=} of the type definition narrows it down to an
enumeration type. Following the @samp{e} is a list of the elements of enumeration type. Following the @samp{e} is a list of the elements of
the enumeration. The format is @samp{@var{name}:@var{value},}. The the enumeration. The format is @samp{@var{name}:@var{value},}. The
list of elements ends with @samp{;}. list of elements ends with @samp{;}. The fact that @var{value} is
specified as an integer can cause problems if the value is large. GCC
2.5.2 tries to output it in octal in that case with a leading zero,
which is probably a good thing, although GDB 4.11 supports octal only in
cases where decimal is perfectly good. Negative decimal values are
supported by both GDB and dbx.
There is no standard way to specify the size of an enumeration type; it There is no standard way to specify the size of an enumeration type; it
is determined by the architecture (normally all enumerations types are is determined by the architecture (normally all enumerations types are
32 bits). There should be a way to specify an enumeration type of 32 bits). Type attributes can be used to specify an enumeration type of
another size; type attributes would be one way to do this. @xref{Stabs another size for debuggers which support them; see @ref{String Field}.
Format}.
@node Structures @node Structures
@section Structures @section Structures