diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-05-21 16:29:24 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-05-21 16:29:24 +0000 |
commit | 1a8b5668494dd302e614481b0cfd573184334359 (patch) | |
tree | bab0731bd28fe28254500b445d13a2d40757fb98 /gdb/doc/stabs.texinfo | |
parent | c41e08c472c86564b1583429f9c228e2a504c44c (diff) | |
download | gdb-1a8b5668494dd302e614481b0cfd573184334359.zip gdb-1a8b5668494dd302e614481b0cfd573184334359.tar.gz gdb-1a8b5668494dd302e614481b0cfd573184334359.tar.bz2 |
* stabs.texinfo (Builtin Type Descriptors): Document the floating
point types used with @samp{R} type descriptor.
(Symbol Descriptors): Describe how to handle conflict between
different meanings of @samp{P} symbol descriptor.
Diffstat (limited to 'gdb/doc/stabs.texinfo')
-rw-r--r-- | gdb/doc/stabs.texinfo | 55 |
1 files changed, 38 insertions, 17 deletions
diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index 1aa2143..4aa0972 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -1208,7 +1208,8 @@ I'm not sure how a boolean type is represented. There are various type descriptors to define builtin types: @table @code -@c FIXME: clean up description of width and offset +@c FIXME: clean up description of width and offset, once we figure out +@c what they mean @item b @var{signed} @var{char-flag} @var{width} ; @var{offset} ; @var{nbits} ; Define an integral type. @var{signed} is @samp{u} for unsigned or @samp{s} for signed. @var{char-flag} is @samp{c} which indicates this @@ -1233,11 +1234,32 @@ will be a digit, @samp{(}, or @samp{-} for a Pascal space type, or Documented by AIX to define a wide character type, but their compiler actually uses negative type numbers (@pxref{Negative Type Numbers}). -@item R @var{details} ; @var{bytes} ; -@c FIXME: What does @var{details} mean? -Define a floating point type. @var{details} is a number which has -details about the type, for example whether it is complex. @var{bytes} -is the number of bytes occupied by the type. +@item R @var{fp_type} ; @var{bytes} ; +Define a floating point type. @var{fp_type} has one of the following values: + +@table @code +@item 1 (NF_SINGLE) +IEEE 32-bit (single precision) floating point format. + +@item 2 (NF_DOUBLE) +IEEE 64-bit (double precision) floating point format. + +@item 3 (NF_COMPLEX) +@item 4 (NF_COMPLEX16) +@item 5 (NF_COMPLEX32) +These are for complex numbers. A comment in +@file{include/aout/stab_gnu.h} describes them as Fortran complex, double +complex, and complex*16, respectively, but what does that mean? (i.e. +Single precision? Double precison?). + +@item 6 (NF_LDOUBLE) +Long double. It would be cleaner to define a different code for every +possible format of long double. +@end table + +@var{bytes} is the number of bytes occupied by the type. This allows a +debugger to perform some operations with the type even if it doesn't +understand @var{fp_code}. @item g @var{type-information} ; @var{nbits} Documented by AIX to define a floating type, but their compiler actually @@ -2923,11 +2945,12 @@ Argument list parameter, @xref{Parameters}. FORTRAN Function parameter, @xref{Parameters}. @item P -Global Procedure (AIX), @xref{Procedures}. Register parameter (GNU), -@xref{Parameters}. These two uses can be distinguised because a -register parameter uses N_PSYM and a procedure uses some other symbol -type. Prototype of function referenced by this file (Sun acc) (have not -yet investigated this conflict. FIXME). +Unfortunately, three separate meanings have been independently invented +for this symbol descriptor. At least the GNU and Sun uses can be +distinguished by the symbol type. Global Procedure (AIX) (symbol type +used unknown), @xref{Procedures}. Register parameter (GNU) (symbol type +N_PSYM), @xref{Parameters}. Prototype of function referenced by this +file (Sun acc) (symbol type N_FUN). @item Q Static Procedure, @xref{Procedures}. @@ -3631,9 +3654,6 @@ dbx? @appendix Differences between GNU stabs in a.out and GNU stabs in xcoff @c FIXME: Merge *all* these into the main body of the document. -@c Progress report: I have merged all the information from the -@c "dbx stabstring grammar" section of the AIX documentation into -@c the main body of this document, except the types. (The AIX/RS6000 native object file format is xcoff with stabs). This appendix only covers those differences which are not covered in the main body of this document. @@ -3644,9 +3664,10 @@ Instead of .stabs, xcoff uses .stabx. @item The data fields of an xcoff .stabx are in a different order than an -a.out .stabs. The order is: string, value, type. The desc and null -fields present in a.out stabs are missing in xcoff stabs. For N_GSYM -the value field is the name of the symbol. +a.out .stabs. The order is: string, value, type, sdb-type. The desc +and null fields present in a.out stabs are missing in xcoff stabs. For +N_GSYM the value field is the name of the symbol. sdb-type is unused +with stabs; it can always be set to 0. @item BSD a.out stab types correspond to AIX xcoff storage classes. In general the |