Node:Stab, Next:String, Previous:Space, Up:Pseudo Ops
.stabd, .stabn, .stabs
There are three directives that begin .stab
.
All emit symbols (see Symbols), for use by symbolic debuggers.
The symbols are not entered in the as
hash table: they
cannot be referenced elsewhere in the source file.
Up to five fields are required:
\000
, so is more general than ordinary symbol names. Some
debuggers used to code arbitrarily complex structures into symbol names
using this field.
ld
and debuggers choke on silly bit patterns.
If a warning is detected while reading a .stabd
, .stabn
,
or .stabs
statement, the symbol has probably already been created;
you get a half-formed symbol in your object file. This is
compatible with earlier assemblers!
.stabd type , other , desc
The symbol's value is set to the location counter,
relocatably. When your program is linked, the value of this symbol
is the address of the location counter when the .stabd
was
assembled.
.stabn type , other , desc , value
""
.
.stabs string , type , other , desc , value