347 lines
17 KiB
HTML
347 lines
17 KiB
HTML
<HTML>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<!-- Created on March, 28 2002 by texi2html 1.64 -->
|
|
<!--
|
|
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
|
Karl Berry <karl@freefriends.org>
|
|
Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
|
and many others.
|
|
Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
|
Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
|
|
|
|
-->
|
|
<HEAD>
|
|
<TITLE>STABS: Symbol Tables</TITLE>
|
|
|
|
<META NAME="description" CONTENT="STABS: Symbol Tables">
|
|
<META NAME="keywords" CONTENT="STABS: Symbol Tables">
|
|
<META NAME="resource-type" CONTENT="document">
|
|
<META NAME="distribution" CONTENT="global">
|
|
<META NAME="Generator" CONTENT="texi2html 1.64">
|
|
|
|
</HEAD>
|
|
|
|
<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
|
|
|
<A NAME="SEC46"></A>
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_5.html#SEC45"> < </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC47"> > </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> << </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top"> Up </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> >> </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_14.html#SEC90">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<H1> 6. Symbol Information in Symbol Tables </H1>
|
|
<!--docid::SEC46::-->
|
|
<P>
|
|
|
|
This chapter describes the format of symbol table entries
|
|
and how stab assembler directives map to them. It also describes the
|
|
transformations that the assembler and linker make on data from stabs.
|
|
</P><P>
|
|
|
|
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
|
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="stabs_6.html#SEC47">6.1 Symbol Table Format</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="stabs_6.html#SEC48">6.2 Transformations on Symbol Tables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
</TABLE></BLOCKQUOTE>
|
|
<P>
|
|
|
|
<A NAME="Symbol Table Format"></A>
|
|
<HR SIZE="6">
|
|
<A NAME="SEC47"></A>
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> < </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC48"> > </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> << </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> Up </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> >> </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_14.html#SEC90">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<H2> 6.1 Symbol Table Format </H2>
|
|
<!--docid::SEC47::-->
|
|
<P>
|
|
|
|
Each time the assembler encounters a stab directive, it puts
|
|
each field of the stab into a corresponding field in a symbol table
|
|
entry of its output file. If the stab contains a string field, the
|
|
symbol table entry for that stab points to a string table entry
|
|
containing the string data from the stab. Assembler labels become
|
|
relocatable addresses. Symbol table entries in a.out have the format:
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>struct internal_nlist {
|
|
unsigned long n_strx; /* index into string table of name */
|
|
unsigned char n_type; /* type of symbol */
|
|
unsigned char n_other; /* misc info (usually empty) */
|
|
unsigned short n_desc; /* description field */
|
|
bfd_vma n_value; /* value of symbol */
|
|
};
|
|
</pre></td></tr></table></P><P>
|
|
|
|
If the stab has a string, the <CODE>n_strx</CODE> field holds the offset in
|
|
bytes of the string within the string table. The string is terminated
|
|
by a NUL character. If the stab lacks a string (for example, it was
|
|
produced by a <CODE>.stabn</CODE> or <CODE>.stabd</CODE> directive), the
|
|
<CODE>n_strx</CODE> field is zero.
|
|
</P><P>
|
|
|
|
Symbol table entries with <CODE>n_type</CODE> field values greater than 0x1f
|
|
originated as stabs generated by the compiler (with one random
|
|
exception). The other entries were placed in the symbol table of the
|
|
executable by the assembler or the linker.
|
|
</P><P>
|
|
|
|
<A NAME="Transformations On Symbol Tables"></A>
|
|
<HR SIZE="6">
|
|
<A NAME="SEC48"></A>
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC47"> < </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC49"> > </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> << </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> Up </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> >> </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_14.html#SEC90">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<H2> 6.2 Transformations on Symbol Tables </H2>
|
|
<!--docid::SEC48::-->
|
|
<P>
|
|
|
|
The linker concatenates object files and does fixups of externally
|
|
defined symbols.
|
|
</P><P>
|
|
|
|
You can see the transformations made on stab data by the assembler and
|
|
linker by examining the symbol table after each pass of the build. To
|
|
do this, use <SAMP>`nm -ap'</SAMP>, which dumps the symbol table, including
|
|
debugging information, unsorted. For stab entries the columns are:
|
|
<VAR>value</VAR>, <VAR>other</VAR>, <VAR>desc</VAR>, <VAR>type</VAR>, <VAR>string</VAR>. For
|
|
assembler and linker symbols, the columns are: <VAR>value</VAR>, <VAR>type</VAR>,
|
|
<VAR>string</VAR>.
|
|
</P><P>
|
|
|
|
The low 5 bits of the stab type tell the linker how to relocate the
|
|
value of the stab. Thus for stab types like <CODE>N_RSYM</CODE> and
|
|
<CODE>N_LSYM</CODE>, where the value is an offset or a register number, the
|
|
low 5 bits are <CODE>N_ABS</CODE>, which tells the linker not to relocate the
|
|
value.
|
|
</P><P>
|
|
|
|
Where the value of a stab contains an assembly language label,
|
|
it is transformed by each build step. The assembler turns it into a
|
|
relocatable address and the linker turns it into an absolute address.
|
|
</P><P>
|
|
|
|
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
|
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="stabs_6.html#SEC49">6.2.1 Transformations on Static Variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="stabs_6.html#SEC50">6.2.2 Transformations on Global Variables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="stabs_6.html#SEC51">6.2.3 Transformations of Stabs in separate sections</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">For some object file formats,
|
|
things are a bit different.</TD></TR>
|
|
</TABLE></BLOCKQUOTE>
|
|
<P>
|
|
|
|
<A NAME="Transformations On Static Variables"></A>
|
|
<HR SIZE="6">
|
|
<A NAME="SEC49"></A>
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC48"> < </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC50"> > </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> << </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC48"> Up </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> >> </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_14.html#SEC90">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<H3> 6.2.1 Transformations on Static Variables </H3>
|
|
<!--docid::SEC49::-->
|
|
<P>
|
|
|
|
This source line defines a static variable at file scope:
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>static int s_g_repeat
|
|
</pre></td></tr></table></P><P>
|
|
|
|
The following stab describes the symbol:
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>.stabs "s_g_repeat:S1",38,0,0,_s_g_repeat
|
|
</pre></td></tr></table></P><P>
|
|
|
|
The assembler transforms the stab into this symbol table entry in the
|
|
<TT>`.o'</TT> file. The location is expressed as a data segment offset.
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>00000084 - 00 0000 STSYM s_g_repeat:S1
|
|
</pre></td></tr></table></P><P>
|
|
|
|
In the symbol table entry from the executable, the linker has made the
|
|
relocatable address absolute.
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>0000e00c - 00 0000 STSYM s_g_repeat:S1
|
|
</pre></td></tr></table></P><P>
|
|
|
|
<A NAME="Transformations On Global Variables"></A>
|
|
<HR SIZE="6">
|
|
<A NAME="SEC50"></A>
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC49"> < </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC51"> > </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC51"> << </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC48"> Up </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> >> </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_14.html#SEC90">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<H3> 6.2.2 Transformations on Global Variables </H3>
|
|
<!--docid::SEC50::-->
|
|
<P>
|
|
|
|
Stabs for global variables do not contain location information. In
|
|
this case, the debugger finds location information in the assembler or
|
|
linker symbol table entry describing the variable. The source line:
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>char g_foo = 'c';
|
|
</pre></td></tr></table></P><P>
|
|
|
|
generates the stab:
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>.stabs "g_foo:G2",32,0,0,0
|
|
</pre></td></tr></table></P><P>
|
|
|
|
The variable is represented by two symbol table entries in the object
|
|
file (see below). The first one originated as a stab. The second one
|
|
is an external symbol. The upper case <SAMP>`D'</SAMP> signifies that the
|
|
<CODE>n_type</CODE> field of the symbol table contains 7, <CODE>N_DATA</CODE> with
|
|
local linkage. The stab's value is zero since the value is not used for
|
|
<CODE>N_GSYM</CODE> stabs. The value of the linker symbol is the relocatable
|
|
address corresponding to the variable.
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>00000000 - 00 0000 GSYM g_foo:G2
|
|
00000080 D _g_foo
|
|
</pre></td></tr></table></P><P>
|
|
|
|
These entries as transformed by the linker. The linker symbol table
|
|
entry now holds an absolute address:
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>00000000 - 00 0000 GSYM g_foo:G2
|
|
<small>...</small>
|
|
0000e008 D _g_foo
|
|
</pre></td></tr></table></P><P>
|
|
|
|
<A NAME="Stab Section Transformations"></A>
|
|
<HR SIZE="6">
|
|
<A NAME="SEC51"></A>
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC50"> < </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> > </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> << </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC48"> Up </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> >> </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_14.html#SEC90">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<H3> 6.2.3 Transformations of Stabs in separate sections </H3>
|
|
<!--docid::SEC51::-->
|
|
<P>
|
|
|
|
For object file formats using stabs in separate sections (see section <A HREF="stabs_13.html#SEC87">F. Using Stabs in Their Own Sections</A>), use <CODE>objdump --stabs</CODE> instead of <CODE>nm</CODE> to show the
|
|
stabs in an object or executable file. <CODE>objdump</CODE> is a GNU utility;
|
|
Sun does not provide any equivalent.
|
|
</P><P>
|
|
|
|
The following example is for a stab whose value is an address is
|
|
relative to the compilation unit (see section <A HREF="stabs_13.html#SEC89">F.2 Having the Linker Relocate Stabs in ELF</A>). For
|
|
example, if the source line
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>static int ld = 5;
|
|
</pre></td></tr></table></P><P>
|
|
|
|
appears within a function, then the assembly language output from the
|
|
compiler contains:
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>.Ddata.data:
|
|
<small>...</small>
|
|
.stabs "ld:V(0,3)",0x26,0,4,.L18-Ddata.data # 0x26 is N_STSYM
|
|
<small>...</small>
|
|
.L18:
|
|
.align 4
|
|
.word 0x5
|
|
</pre></td></tr></table></P><P>
|
|
|
|
Because the value is formed by subtracting one symbol from another, the
|
|
value is absolute, not relocatable, and so the object file contains
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>Symnum n_type n_othr n_desc n_value n_strx String
|
|
31 STSYM 0 4 00000004 680 ld:V(0,3)
|
|
</pre></td></tr></table></P><P>
|
|
|
|
without any relocations, and the executable file also contains
|
|
</P><P>
|
|
|
|
<TABLE><tr><td> </td><td class=example><pre>Symnum n_type n_othr n_desc n_value n_strx String
|
|
31 STSYM 0 4 00000004 680 ld:V(0,3)
|
|
</pre></td></tr></table></P><P>
|
|
|
|
<A NAME="Cplusplus"></A>
|
|
<HR SIZE="6">
|
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_6.html#SEC46"> << </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_7.html#SEC52"> >> </A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs.html#SEC_Top">Top</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_toc.html#SEC_Contents">Contents</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_14.html#SEC90">Index</A>]</TD>
|
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="stabs_abt.html#SEC_About"> ? </A>]</TD>
|
|
</TR></TABLE>
|
|
<BR>
|
|
<FONT SIZE="-1">
|
|
|
|
<address>
|
|
|
|
<p>Please send FSF & GNU inquiries & questions to <a
|
|
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
|
|
href="http://www.gnu.org/home.html#ContactInfo">other ways to
|
|
contact</a> the FSF.</p>
|
|
|
|
<p>These pages are maintained by <a
|
|
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
|
|
|
|
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
|
|
330, Boston, MA 02111, USA.</p>
|
|
|
|
<p>Verbatim copying and distribution of this entire article is
|
|
permitted in any medium, provided this notice is preserved.</p>
|
|
|
|
</address>
|
|
|
|
This document was generated
|
|
by <I>GDB Administrator</I> on <I>March, 28 2002</I>
|
|
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
|
"><I>texi2html</I></A>
|
|
|
|
</BODY>
|
|
</HTML>
|