STABS: Typedefs |
---|
Next: Unions, Previous: Structures, Up: Types [Contents][Index]
To give a type a name, use the ‘t’ symbol descriptor. The type is specified by the type information (see String Field) for the stab. For example,
.stabs "s_typedef:t16",128,0,0,0 # 128 is N_LSYM
specifies that s_typedef
refers to type number 16. Such stabs
have symbol type N_LSYM
(or C_DECL
for XCOFF). (The Sun
documentation mentions using N_GSYM
in some cases).
If you are specifying the tag name for a structure, union, or enumeration, use the ‘T’ symbol descriptor instead. I believe C is the only language with this feature.
If the type is an opaque type (I believe this is a Modula-2 feature), AIX provides a type descriptor to specify it. The type descriptor is ‘o’ and is followed by a name. I don’t know what the name means—is it always the same as the name of the type, or is this type descriptor used with a nameless stab (see String Field)? There optionally follows a comma followed by type information which defines the type of this type. If omitted, a semicolon is used in place of the comma and the type information, and the type is much like a generic pointer type—it has a known size but little else about it is specified.