| www.delorie.com/gnu/docs/gdb/stabs_34.html | search |
![]() Buy the book! | |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This is the method used by Sun's acc for defining builtin types.
These are the type descriptors to define builtin types:
b signed char-flag width ; offset ; nbits ;
wchar_t so the debugger
can print such variables differently (Solaris does not do this). Sun
sets it on the C types signed char and unsigned char which
arguably is wrong. width and offset appear to be for small
objects stored in larger ones, for example a short in an
int register. width is normally the number of bytes in the
type. offset seems to always be zero. nbits is the number
of bits in the type.
Note that type descriptor `b' used for builtin types conflicts with its use for Pascal space types (see section 5.2 Miscellaneous Types); they can be distinguished because the character following the type descriptor will be a digit, `(', or `-' for a Pascal space type, or `u' or `s' for a builtin type.
w
R fp-type ; bytes ;
1 (NF_SINGLE)
2 (NF_DOUBLE)
3 (NF_COMPLEX)
4 (NF_COMPLEX16)
5 (NF_COMPLEX32)
complex, double complex, and
complex*16, respectively, but what does that mean? (i.e., Single
precision? Double precision?).
6 (NF_LDOUBLE)
long double, and new codes should be used for other floating
point formats (NF_DOUBLE can be used if a long double is
really just an IEEE double, of course).
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 fp-type.
g type-information ; nbits
c type-information ; nbits
The C void type is defined as a signed integral type 0 bits long:
.stabs "void:t19=bs0;0;0",128,0,0,0 |
I'm not sure how a boolean type is represented.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| webmaster donations bookstore | delorie software privacy |
| Copyright © 2003 by The Free Software Foundation | Updated Jun 2003 |