add directory Ref-docs
This commit is contained in:
95
Ref-docs/manual gdb/gdbint/gdbint.html
Normal file
95
Ref-docs/manual gdb/gdbint/gdbint.html
Normal file
@@ -0,0 +1,95 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: GDB Internals</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: GDB Internals">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: GDB Internals">
|
||||
<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="SEC_Top"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1>GDB Internals</H1></P><P>
|
||||
|
||||
This document documents the internals of the GNU debugger, GDB. It
|
||||
includes description of GDB's key algorithms and operations, as well
|
||||
as the mechanisms that adapt GDB to specific hosts and targets.
|
||||
</P><P>
|
||||
|
||||
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_1.html#SEC1">1. Requirements</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_2.html#SEC2">2. Overall Structure</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_3.html#SEC6">3. Algorithms</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_4.html#SEC16">4. User Interface</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_5.html#SEC27">5. libgdb</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_6.html#SEC37">6. Symbol Handling</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_7.html#SEC61">7. Language Support</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_8.html#SEC63">8. Host Definition</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_9.html#SEC67">9. Target Architecture Definition</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_10.html#SEC88">10. Target Vector Definition</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_11.html#SEC95">11. Native Debugging</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_12.html#SEC102">12. Support Libraries</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_13.html#SEC110">13. Coding</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_14.html#SEC126">14. Porting GDB</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_15.html#SEC129">15. Releasing GDB</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_16.html#SEC175">16. Testsuite</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_17.html#SEC179">17. Hints</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
</TABLE>
|
||||
|
||||
<br>
|
||||
<TABLE BORDER=0 CELLSPACING=0>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_18.html#SEC184">A. GNU Free Documentation License</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">The license for this documentation</TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_19.html#SEC186">Index</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
</TABLE></BLOCKQUOTE>
|
||||
<P>
|
||||
|
||||
<HR SIZE=1>
|
||||
<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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
123
Ref-docs/manual gdb/gdbint/gdbint_1.html
Normal file
123
Ref-docs/manual gdb/gdbint/gdbint_1.html
Normal file
@@ -0,0 +1,123 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Requirements</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Requirements">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Requirements">
|
||||
<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="SEC1"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<A NAME="Requirements"></A>
|
||||
</P><P>
|
||||
|
||||
<H1> 1. Requirements </H1>
|
||||
<!--docid::SEC1::-->
|
||||
<P>
|
||||
|
||||
Before diving into the internals, you should understand the formal
|
||||
requirements and other expectations for GDB. Although some
|
||||
of these may seem obvious, there have been proposals for GDB
|
||||
that have run counter to these requirements.
|
||||
</P><P>
|
||||
|
||||
First of all, GDB is a debugger. It's not designed to be a
|
||||
front panel for embedded systems. It's not a text editor. It's not a
|
||||
shell. It's not a programming environment.
|
||||
</P><P>
|
||||
|
||||
GDB is an interactive tool. Although a batch mode is
|
||||
available, GDB's primary role is to interact with a human
|
||||
programmer.
|
||||
</P><P>
|
||||
|
||||
GDB should be responsive to the user. A programmer hot on
|
||||
the trail of a nasty bug, and operating under a looming deadline, is
|
||||
going to be very impatient of everything, including the response time
|
||||
to debugger commands.
|
||||
</P><P>
|
||||
|
||||
GDB should be relatively permissive, such as for expressions.
|
||||
While the compiler should be picky (or have the option to be made
|
||||
picky), since source code lives for a long time usually, the
|
||||
programmer doing debugging shouldn't be spending time figuring out to
|
||||
mollify the debugger.
|
||||
</P><P>
|
||||
|
||||
GDB will be called upon to deal with really large programs.
|
||||
Executable sizes of 50 to 100 megabytes occur regularly, and we've
|
||||
heard reports of programs approaching 1 gigabyte in size.
|
||||
</P><P>
|
||||
|
||||
GDB should be able to run everywhere. No other debugger is
|
||||
available for even half as many configurations as GDB
|
||||
supports.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Overall Structure"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
245
Ref-docs/manual gdb/gdbint/gdbint_10.html
Normal file
245
Ref-docs/manual gdb/gdbint/gdbint_10.html
Normal file
@@ -0,0 +1,245 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Target Vector Definition</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Target Vector Definition">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Target Vector Definition">
|
||||
<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="SEC88"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_9.html#SEC87"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC89"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 10. Target Vector Definition </H1>
|
||||
<!--docid::SEC88::-->
|
||||
<P>
|
||||
|
||||
The target vector defines the interface between GDB's
|
||||
abstract handling of target systems, and the nitty-gritty code that
|
||||
actually exercises control over a process or a serial port.
|
||||
GDB includes some 30-40 different target vectors; however,
|
||||
each configuration of GDB includes only a few of them.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC89"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC90"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 10.1 File Targets </H2>
|
||||
<!--docid::SEC89::-->
|
||||
<P>
|
||||
|
||||
Both executables and core files have target vectors.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC90"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC89"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC91"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC91"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 10.2 Standard Protocol and Remote Stubs </H2>
|
||||
<!--docid::SEC90::-->
|
||||
<P>
|
||||
|
||||
GDB's file <TT>`remote.c'</TT> talks a serial protocol to code
|
||||
that runs in the target system. GDB provides several sample
|
||||
<EM>stubs</EM> that can be integrated into target programs or operating
|
||||
systems for this purpose; they are named <TT>`*-stub.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
The GDB user's manual describes how to put such a stub into
|
||||
your target code. What follows is a discussion of integrating the
|
||||
SPARC stub into a complicated operating system (rather than a simple
|
||||
program), by Stu Grossman, the author of this stub.
|
||||
</P><P>
|
||||
|
||||
The trap handling code in the stub assumes the following upon entry to
|
||||
<CODE>trap_low</CODE>:
|
||||
</P><P>
|
||||
|
||||
<OL>
|
||||
<LI>
|
||||
%l1 and %l2 contain pc and npc respectively at the time of the trap;
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
traps are disabled;
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
you are in the correct trap window.
|
||||
</OL>
|
||||
<P>
|
||||
|
||||
As long as your trap handler can guarantee those conditions, then there
|
||||
is no reason why you shouldn't be able to "share" traps with the stub.
|
||||
The stub has no requirement that it be jumped to directly from the
|
||||
hardware trap vector. That is why it calls <CODE>exceptionHandler()</CODE>,
|
||||
which is provided by the external environment. For instance, this could
|
||||
set up the hardware traps to actually execute code which calls the stub
|
||||
first, and then transfers to its own trap handler.
|
||||
</P><P>
|
||||
|
||||
For the most point, there probably won't be much of an issue with
|
||||
"sharing" traps, as the traps we use are usually not used by the kernel,
|
||||
and often indicate unrecoverable error conditions. Anyway, this is all
|
||||
controlled by a table, and is trivial to modify. The most important
|
||||
trap for us is for <CODE>ta 1</CODE>. Without that, we can't single step or
|
||||
do breakpoints. Everything else is unnecessary for the proper operation
|
||||
of the debugger/stub.
|
||||
</P><P>
|
||||
|
||||
From reading the stub, it's probably not obvious how breakpoints work.
|
||||
They are simply done by deposit/examine operations from GDB.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC91"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC90"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC92"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC92"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 10.3 ROM Monitor Interface </H2>
|
||||
<!--docid::SEC91::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC92"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC91"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC93"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC93"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 10.4 Custom Protocols </H2>
|
||||
<!--docid::SEC92::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC93"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC92"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC94"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC94"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 10.5 Transport Layer </H2>
|
||||
<!--docid::SEC93::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC94"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC93"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 10.6 Builtin Simulator </H2>
|
||||
<!--docid::SEC94::-->
|
||||
<P>
|
||||
|
||||
<A NAME="Native Debugging"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC88"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
521
Ref-docs/manual gdb/gdbint/gdbint_11.html
Normal file
521
Ref-docs/manual gdb/gdbint/gdbint_11.html
Normal file
@@ -0,0 +1,521 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Native Debugging</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Native Debugging">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Native Debugging">
|
||||
<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="SEC95"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_10.html#SEC94"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC96"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 11. Native Debugging </H1>
|
||||
<!--docid::SEC95::-->
|
||||
<P>
|
||||
|
||||
Several files control GDB's configuration for native support:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX469"></A>
|
||||
<DT><TT>`gdb/config/<VAR>arch</VAR>/<VAR>xyz</VAR>.mh'</TT>
|
||||
<DD>Specifies Makefile fragments needed by a <EM>native</EM> configuration on
|
||||
machine <VAR>xyz</VAR>. In particular, this lists the required
|
||||
native-dependent object files, by defining <SAMP>`NATDEPFILES=<small>...</small>'</SAMP>.
|
||||
Also specifies the header file which describes native support on
|
||||
<VAR>xyz</VAR>, by defining <SAMP>`NAT_FILE= nm-<VAR>xyz</VAR>.h'</SAMP>. You can also
|
||||
define <SAMP>`NAT_CFLAGS'</SAMP>, <SAMP>`NAT_ADD_FILES'</SAMP>, <SAMP>`NAT_CLIBS'</SAMP>,
|
||||
<SAMP>`NAT_CDEPS'</SAMP>, etc.; see <TT>`Makefile.in'</TT>.
|
||||
<P>
|
||||
|
||||
<EM>Maintainer's note: The <TT>`.mh'</TT> suffix is because this file
|
||||
originally contained <TT>`Makefile'</TT> fragments for hosting GDB
|
||||
on machine <VAR>xyz</VAR>. While the file is no longer used for this
|
||||
purpose, the <TT>`.mh'</TT> suffix remains. Perhaps someone will
|
||||
eventually rename these fragments so that they have a <TT>`.mn'</TT>
|
||||
suffix.</EM>
|
||||
</P><P>
|
||||
|
||||
<DT><TT>`gdb/config/<VAR>arch</VAR>/nm-<VAR>xyz</VAR>.h'</TT>
|
||||
<DD>(<TT>`nm.h'</TT> is a link to this file, created by <CODE>configure</CODE>). Contains C
|
||||
macro definitions describing the native system environment, such as
|
||||
child process control and core file support.
|
||||
<P>
|
||||
|
||||
<DT><TT>`gdb/<VAR>xyz</VAR>-nat.c'</TT>
|
||||
<DD>Contains any miscellaneous C code required for this native support of
|
||||
this machine. On some machines it doesn't exist at all.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
There are some "generic" versions of routines that can be used by
|
||||
various systems. These can be customized in various ways by macros
|
||||
defined in your <TT>`nm-<VAR>xyz</VAR>.h'</TT> file. If these routines work for
|
||||
the <VAR>xyz</VAR> host, you can just include the generic file's name (with
|
||||
<SAMP>`.o'</SAMP>, not <SAMP>`.c'</SAMP>) in <CODE>NATDEPFILES</CODE>.
|
||||
</P><P>
|
||||
|
||||
Otherwise, if your machine needs custom support routines, you will need
|
||||
to write routines that perform the same functions as the generic file.
|
||||
Put them into <TT>`<VAR>xyz</VAR>-nat.c'</TT>, and put <TT>`<VAR>xyz</VAR>-nat.o'</TT>
|
||||
into <CODE>NATDEPFILES</CODE>.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><TT>`inftarg.c'</TT>
|
||||
<DD>This contains the <EM>target_ops vector</EM> that supports Unix child
|
||||
processes on systems which use ptrace and wait to control the child.
|
||||
<P>
|
||||
|
||||
<DT><TT>`procfs.c'</TT>
|
||||
<DD>This contains the <EM>target_ops vector</EM> that supports Unix child
|
||||
processes on systems which use /proc to control the child.
|
||||
<P>
|
||||
|
||||
<DT><TT>`fork-child.c'</TT>
|
||||
<DD>This does the low-level grunge that uses Unix system calls to do a "fork
|
||||
and exec" to start up a child process.
|
||||
<P>
|
||||
|
||||
<DT><TT>`infptrace.c'</TT>
|
||||
<DD>This is the low level interface to inferior processes for systems using
|
||||
the Unix <CODE>ptrace</CODE> call in a vanilla way.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC96"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC97"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 11.1 Native core file Support </H2>
|
||||
<!--docid::SEC96::-->
|
||||
<P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX470"></A>
|
||||
<DT><TT>`core-aout.c::fetch_core_registers()'</TT>
|
||||
<DD>Support for reading registers out of a core file. This routine calls
|
||||
<CODE>register_addr()</CODE>, see below. Now that BFD is used to read core
|
||||
files, virtually all machines should use <CODE>core-aout.c</CODE>, and should
|
||||
just provide <CODE>fetch_core_registers</CODE> in <CODE><VAR>xyz</VAR>-nat.c</CODE> (or
|
||||
<CODE>REGISTER_U_ADDR</CODE> in <CODE>nm-<VAR>xyz</VAR>.h</CODE>).
|
||||
<P>
|
||||
|
||||
<DT><TT>`core-aout.c::register_addr()'</TT>
|
||||
<DD>If your <CODE>nm-<VAR>xyz</VAR>.h</CODE> file defines the macro
|
||||
<CODE>REGISTER_U_ADDR(addr, blockend, regno)</CODE>, it should be defined to
|
||||
set <CODE>addr</CODE> to the offset within the <SAMP>`user'</SAMP> struct of GDB
|
||||
register number <CODE>regno</CODE>. <CODE>blockend</CODE> is the offset within the
|
||||
"upage" of <CODE>u.u_ar0</CODE>. If <CODE>REGISTER_U_ADDR</CODE> is defined,
|
||||
<TT>`core-aout.c'</TT> will define the <CODE>register_addr()</CODE> function and
|
||||
use the macro in it. If you do not define <CODE>REGISTER_U_ADDR</CODE>, but
|
||||
you are using the standard <CODE>fetch_core_registers()</CODE>, you will need
|
||||
to define your own version of <CODE>register_addr()</CODE>, put it into your
|
||||
<CODE><VAR>xyz</VAR>-nat.c</CODE> file, and be sure <CODE><VAR>xyz</VAR>-nat.o</CODE> is in
|
||||
the <CODE>NATDEPFILES</CODE> list. If you have your own
|
||||
<CODE>fetch_core_registers()</CODE>, you may not need a separate
|
||||
<CODE>register_addr()</CODE>. Many custom <CODE>fetch_core_registers()</CODE>
|
||||
implementations simply locate the registers themselves.</DL>
|
||||
<P>
|
||||
|
||||
When making GDB run native on a new operating system, to make it
|
||||
possible to debug core files, you will need to either write specific
|
||||
code for parsing your OS's core files, or customize
|
||||
<TT>`bfd/trad-core.c'</TT>. First, use whatever <CODE>#include</CODE> files your
|
||||
machine uses to define the struct of registers that is accessible
|
||||
(possibly in the u-area) in a core file (rather than
|
||||
<TT>`machine/reg.h'</TT>), and an include file that defines whatever header
|
||||
exists on a core file (e.g. the u-area or a <CODE>struct core</CODE>). Then
|
||||
modify <CODE>trad_unix_core_file_p</CODE> to use these values to set up the
|
||||
section information for the data segment, stack segment, any other
|
||||
segments in the core file (perhaps shared library contents or control
|
||||
information), "registers" segment, and if there are two discontiguous
|
||||
sets of registers (e.g. integer and float), the "reg2" segment. This
|
||||
section information basically delimits areas in the core file in a
|
||||
standard way, which the section-reading routines in BFD know how to seek
|
||||
around in.
|
||||
</P><P>
|
||||
|
||||
Then back in GDB, you need a matching routine called
|
||||
<CODE>fetch_core_registers</CODE>. If you can use the generic one, it's in
|
||||
<TT>`core-aout.c'</TT>; if not, it's in your <TT>`<VAR>xyz</VAR>-nat.c'</TT> file.
|
||||
It will be passed a char pointer to the entire "registers" segment,
|
||||
its length, and a zero; or a char pointer to the entire "regs2"
|
||||
segment, its length, and a 2. The routine should suck out the supplied
|
||||
register values and install them into GDB's "registers" array.
|
||||
</P><P>
|
||||
|
||||
If your system uses <TT>`/proc'</TT> to control processes, and uses ELF
|
||||
format core files, then you may be able to use the same routines for
|
||||
reading the registers out of processes and out of core files.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC97"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC96"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC98"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC98"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 11.2 ptrace </H2>
|
||||
<!--docid::SEC97::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC98"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC97"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC99"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC99"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 11.3 /proc </H2>
|
||||
<!--docid::SEC98::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC99"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC98"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC100"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC100"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 11.4 win32 </H2>
|
||||
<!--docid::SEC99::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC100"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC99"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC101"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC101"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 11.5 shared libraries </H2>
|
||||
<!--docid::SEC100::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC101"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC100"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 11.6 Native Conditionals </H2>
|
||||
<!--docid::SEC101::-->
|
||||
<P>
|
||||
|
||||
When GDB is configured and compiled, various macros are
|
||||
defined or left undefined, to control compilation when the host and
|
||||
target systems are the same. These macros should be defined (or left
|
||||
undefined) in <TT>`nm-<VAR>system</VAR>.h'</TT>.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><CODE>ATTACH_DETACH</CODE>
|
||||
<DD><A NAME="IDX471"></A>
|
||||
If defined, then GDB will include support for the <CODE>attach</CODE> and
|
||||
<CODE>detach</CODE> commands.
|
||||
<P>
|
||||
|
||||
<DT><CODE>CHILD_PREPARE_TO_STORE</CODE>
|
||||
<DD><A NAME="IDX472"></A>
|
||||
If the machine stores all registers at once in the child process, then
|
||||
define this to ensure that all values are correct. This usually entails
|
||||
a read from the child.
|
||||
<P>
|
||||
|
||||
[Note that this is incorrectly defined in <TT>`xm-<VAR>system</VAR>.h'</TT> files
|
||||
currently.]
|
||||
</P><P>
|
||||
|
||||
<DT><CODE>FETCH_INFERIOR_REGISTERS</CODE>
|
||||
<DD><A NAME="IDX473"></A>
|
||||
Define this if the native-dependent code will provide its own routines
|
||||
<CODE>fetch_inferior_registers</CODE> and <CODE>store_inferior_registers</CODE> in
|
||||
<TT>`<VAR>host</VAR>-nat.c'</TT>. If this symbol is <EM>not</EM> defined, and
|
||||
<TT>`infptrace.c'</TT> is included in this configuration, the default
|
||||
routines in <TT>`infptrace.c'</TT> are used for these functions.
|
||||
<P>
|
||||
|
||||
<DT><CODE>FILES_INFO_HOOK</CODE>
|
||||
<DD><A NAME="IDX474"></A>
|
||||
(Only defined for Convex.)
|
||||
<P>
|
||||
|
||||
<DT><CODE>FP0_REGNUM</CODE>
|
||||
<DD><A NAME="IDX475"></A>
|
||||
This macro is normally defined to be the number of the first floating
|
||||
point register, if the machine has such registers. As such, it would
|
||||
appear only in target-specific code. However, <TT>`/proc'</TT> support uses this
|
||||
to decide whether floats are in use on this target.
|
||||
<P>
|
||||
|
||||
<DT><CODE>GET_LONGJMP_TARGET</CODE>
|
||||
<DD><A NAME="IDX476"></A>
|
||||
For most machines, this is a target-dependent parameter. On the
|
||||
DECstation and the Iris, this is a native-dependent parameter, since
|
||||
<TT>`setjmp.h'</TT> is needed to define it.
|
||||
<P>
|
||||
|
||||
This macro determines the target PC address that <CODE>longjmp</CODE> will jump to,
|
||||
assuming that we have just stopped at a longjmp breakpoint. It takes a
|
||||
<CODE>CORE_ADDR *</CODE> as argument, and stores the target PC value through this
|
||||
pointer. It examines the current state of the machine as needed.
|
||||
</P><P>
|
||||
|
||||
<DT><CODE>I386_USE_GENERIC_WATCHPOINTS</CODE>
|
||||
<DD>An x86-based machine can define this to use the generic x86 watchpoint
|
||||
support; see <A HREF="gdbint_3.html#SEC6">I386_USE_GENERIC_WATCHPOINTS</A>.
|
||||
<P>
|
||||
|
||||
<DT><CODE>KERNEL_U_ADDR</CODE>
|
||||
<DD><A NAME="IDX477"></A>
|
||||
Define this to the address of the <CODE>u</CODE> structure (the "user
|
||||
struct", also known as the "u-page") in kernel virtual memory. GDB
|
||||
needs to know this so that it can subtract this address from absolute
|
||||
addresses in the upage, that are obtained via ptrace or from core files.
|
||||
On systems that don't need this value, set it to zero.
|
||||
<P>
|
||||
|
||||
<DT><CODE>KERNEL_U_ADDR_BSD</CODE>
|
||||
<DD><A NAME="IDX478"></A>
|
||||
Define this to cause GDB to determine the address of <CODE>u</CODE> at
|
||||
runtime, by using Berkeley-style <CODE>nlist</CODE> on the kernel's image in
|
||||
the root directory.
|
||||
<P>
|
||||
|
||||
<DT><CODE>KERNEL_U_ADDR_HPUX</CODE>
|
||||
<DD><A NAME="IDX479"></A>
|
||||
Define this to cause GDB to determine the address of <CODE>u</CODE> at
|
||||
runtime, by using HP-style <CODE>nlist</CODE> on the kernel's image in the
|
||||
root directory.
|
||||
<P>
|
||||
|
||||
<DT><CODE>ONE_PROCESS_WRITETEXT</CODE>
|
||||
<DD><A NAME="IDX480"></A>
|
||||
Define this to be able to, when a breakpoint insertion fails, warn the
|
||||
user that another process may be running with the same executable.
|
||||
<P>
|
||||
|
||||
<DT><CODE>PREPARE_TO_PROCEED (<VAR>select_it</VAR>)</CODE>
|
||||
<DD><A NAME="IDX481"></A>
|
||||
This (ugly) macro allows a native configuration to customize the way the
|
||||
<CODE>proceed</CODE> function in <TT>`infrun.c'</TT> deals with switching between
|
||||
threads.
|
||||
<P>
|
||||
|
||||
In a multi-threaded task we may select another thread and then continue
|
||||
or step. But if the old thread was stopped at a breakpoint, it will
|
||||
immediately cause another breakpoint stop without any execution (i.e. it
|
||||
will report a breakpoint hit incorrectly). So GDB must step over it
|
||||
first.
|
||||
</P><P>
|
||||
|
||||
If defined, <CODE>PREPARE_TO_PROCEED</CODE> should check the current thread
|
||||
against the thread that reported the most recent event. If a step-over
|
||||
is required, it returns TRUE. If <VAR>select_it</VAR> is non-zero, it should
|
||||
reselect the old thread.
|
||||
</P><P>
|
||||
|
||||
<DT><CODE>PROC_NAME_FMT</CODE>
|
||||
<DD><A NAME="IDX482"></A>
|
||||
Defines the format for the name of a <TT>`/proc'</TT> device. Should be
|
||||
defined in <TT>`nm.h'</TT> <EM>only</EM> in order to override the default
|
||||
definition in <TT>`procfs.c'</TT>.
|
||||
<P>
|
||||
|
||||
<DT><CODE>PTRACE_FP_BUG</CODE>
|
||||
<DD><A NAME="IDX483"></A>
|
||||
See <TT>`mach386-xdep.c'</TT>.
|
||||
<P>
|
||||
|
||||
<DT><CODE>PTRACE_ARG3_TYPE</CODE>
|
||||
<DD><A NAME="IDX484"></A>
|
||||
The type of the third argument to the <CODE>ptrace</CODE> system call, if it
|
||||
exists and is different from <CODE>int</CODE>.
|
||||
<P>
|
||||
|
||||
<DT><CODE>REGISTER_U_ADDR</CODE>
|
||||
<DD><A NAME="IDX485"></A>
|
||||
Defines the offset of the registers in the "u area".
|
||||
<P>
|
||||
|
||||
<DT><CODE>SHELL_COMMAND_CONCAT</CODE>
|
||||
<DD><A NAME="IDX486"></A>
|
||||
If defined, is a string to prefix on the shell command used to start the
|
||||
inferior.
|
||||
<P>
|
||||
|
||||
<DT><CODE>SHELL_FILE</CODE>
|
||||
<DD><A NAME="IDX487"></A>
|
||||
If defined, this is the name of the shell to use to run the inferior.
|
||||
Defaults to <CODE>"/bin/sh"</CODE>.
|
||||
<P>
|
||||
|
||||
<DT><CODE>SOLIB_ADD (<VAR>filename</VAR>, <VAR>from_tty</VAR>, <VAR>targ</VAR>, <VAR>readsyms</VAR>)</CODE>
|
||||
<DD><A NAME="IDX488"></A>
|
||||
Define this to expand into an expression that will cause the symbols in
|
||||
<VAR>filename</VAR> to be added to GDB's symbol table. If
|
||||
<VAR>readsyms</VAR> is zero symbols are not read but any necessary low level
|
||||
processing for <VAR>filename</VAR> is still done.
|
||||
<P>
|
||||
|
||||
<DT><CODE>SOLIB_CREATE_INFERIOR_HOOK</CODE>
|
||||
<DD><A NAME="IDX489"></A>
|
||||
Define this to expand into any shared-library-relocation code that you
|
||||
want to be run just after the child process has been forked.
|
||||
<P>
|
||||
|
||||
<DT><CODE>START_INFERIOR_TRAPS_EXPECTED</CODE>
|
||||
<DD><A NAME="IDX490"></A>
|
||||
When starting an inferior, GDB normally expects to trap
|
||||
twice; once when
|
||||
the shell execs, and once when the program itself execs. If the actual
|
||||
number of traps is something other than 2, then define this macro to
|
||||
expand into the number expected.
|
||||
<P>
|
||||
|
||||
<DT><CODE>SVR4_SHARED_LIBS</CODE>
|
||||
<DD><A NAME="IDX491"></A>
|
||||
Define this to indicate that SVR4-style shared libraries are in use.
|
||||
<P>
|
||||
|
||||
<DT><CODE>USE_PROC_FS</CODE>
|
||||
<DD><A NAME="IDX492"></A>
|
||||
This determines whether small routines in <TT>`*-tdep.c'</TT>, which
|
||||
translate register values between GDB's internal
|
||||
representation and the <TT>`/proc'</TT> representation, are compiled.
|
||||
<P>
|
||||
|
||||
<DT><CODE>U_REGS_OFFSET</CODE>
|
||||
<DD><A NAME="IDX493"></A>
|
||||
This is the offset of the registers in the upage. It need only be
|
||||
defined if the generic ptrace register access routines in
|
||||
<TT>`infptrace.c'</TT> are being used (that is, <TT>`infptrace.c'</TT> is
|
||||
configured in, and <CODE>FETCH_INFERIOR_REGISTERS</CODE> is not defined). If
|
||||
the default value from <TT>`infptrace.c'</TT> is good enough, leave it
|
||||
undefined.
|
||||
<P>
|
||||
|
||||
The default value means that u.u_ar0 <EM>points to</EM> the location of
|
||||
the registers. I'm guessing that <CODE>#define U_REGS_OFFSET 0</CODE> means
|
||||
that <CODE>u.u_ar0</CODE> <EM>is</EM> the location of the registers.
|
||||
</P><P>
|
||||
|
||||
<DT><CODE>CLEAR_SOLIB</CODE>
|
||||
<DD><A NAME="IDX494"></A>
|
||||
See <TT>`objfiles.c'</TT>.
|
||||
<P>
|
||||
|
||||
<DT><CODE>DEBUG_PTRACE</CODE>
|
||||
<DD><A NAME="IDX495"></A>
|
||||
Define this to debug <CODE>ptrace</CODE> calls.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<A NAME="Support Libraries"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC95"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
266
Ref-docs/manual gdb/gdbint/gdbint_12.html
Normal file
266
Ref-docs/manual gdb/gdbint/gdbint_12.html
Normal file
@@ -0,0 +1,266 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Support Libraries</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Support Libraries">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Support Libraries">
|
||||
<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="SEC102"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_11.html#SEC101"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC103"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 12. Support Libraries </H1>
|
||||
<!--docid::SEC102::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC103"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC104"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 12.1 BFD </H2>
|
||||
<!--docid::SEC103::-->
|
||||
<P>
|
||||
|
||||
BFD provides support for GDB in several ways:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><EM>identifying executable and core files</EM>
|
||||
<DD>BFD will identify a variety of file types, including a.out, coff, and
|
||||
several variants thereof, as well as several kinds of core files.
|
||||
<P>
|
||||
|
||||
<DT><EM>access to sections of files</EM>
|
||||
<DD>BFD parses the file headers to determine the names, virtual addresses,
|
||||
sizes, and file locations of all the various named sections in files
|
||||
(such as the text section or the data section). GDB simply
|
||||
calls BFD to read or write section <VAR>x</VAR> at byte offset <VAR>y</VAR> for
|
||||
length <VAR>z</VAR>.
|
||||
<P>
|
||||
|
||||
<DT><EM>specialized core file support</EM>
|
||||
<DD>BFD provides routines to determine the failing command name stored in a
|
||||
core file, the signal with which the program failed, and whether a core
|
||||
file matches (i.e. could be a core dump of) a particular executable
|
||||
file.
|
||||
<P>
|
||||
|
||||
<DT><EM>locating the symbol information</EM>
|
||||
<DD>GDB uses an internal interface of BFD to determine where to find the
|
||||
symbol information in an executable file or symbol-file. GDB itself
|
||||
handles the reading of symbols, since BFD does not "understand" debug
|
||||
symbols, but GDB uses BFD's cached information to find the symbols,
|
||||
string table, etc.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC104"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC103"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC105"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC105"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 12.2 opcodes </H2>
|
||||
<!--docid::SEC104::-->
|
||||
<P>
|
||||
|
||||
The opcodes library provides GDB's disassembler. (It's a separate
|
||||
library because it's also used in binutils, for <TT>`objdump'</TT>).
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC105"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC104"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC106"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC106"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 12.3 readline </H2>
|
||||
<!--docid::SEC105::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC106"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC105"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC107"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC107"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 12.4 mmalloc </H2>
|
||||
<!--docid::SEC106::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC107"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC106"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC108"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC108"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 12.5 libiberty </H2>
|
||||
<!--docid::SEC107::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC108"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC107"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC109"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC109"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 12.6 gnu-regex </H2>
|
||||
<!--docid::SEC108::-->
|
||||
<P>
|
||||
|
||||
Regex conditionals.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><CODE>C_ALLOCA</CODE>
|
||||
<DD><P>
|
||||
|
||||
<DT><CODE>NFAILURES</CODE>
|
||||
<DD><P>
|
||||
|
||||
<DT><CODE>RE_NREGS</CODE>
|
||||
<DD><P>
|
||||
|
||||
<DT><CODE>SIGN_EXTEND_CHAR</CODE>
|
||||
<DD><P>
|
||||
|
||||
<DT><CODE>SWITCH_ENUM_BUG</CODE>
|
||||
<DD><P>
|
||||
|
||||
<DT><CODE>SYNTAX_TABLE</CODE>
|
||||
<DD><P>
|
||||
|
||||
<DT><CODE>Sword</CODE>
|
||||
<DD><P>
|
||||
|
||||
<DT><CODE>sparc</CODE>
|
||||
<DD></DL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC109"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC108"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 12.7 include </H2>
|
||||
<!--docid::SEC109::-->
|
||||
<P>
|
||||
|
||||
<A NAME="Coding"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_12.html#SEC102"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC110"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
1110
Ref-docs/manual gdb/gdbint/gdbint_13.html
Normal file
1110
Ref-docs/manual gdb/gdbint/gdbint_13.html
Normal file
File diff suppressed because it is too large
Load Diff
222
Ref-docs/manual gdb/gdbint/gdbint_14.html
Normal file
222
Ref-docs/manual gdb/gdbint/gdbint_14.html
Normal file
@@ -0,0 +1,222 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Porting GDB</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Porting GDB">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Porting GDB">
|
||||
<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="SEC126"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_13.html#SEC125"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_14.html#SEC127"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_15.html#SEC129"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 14. Porting GDB </H1>
|
||||
<!--docid::SEC126::-->
|
||||
<P>
|
||||
|
||||
Most of the work in making GDB compile on a new machine is in
|
||||
specifying the configuration of the machine. This is done in a
|
||||
dizzying variety of header files and configuration scripts, which we
|
||||
hope to make more sensible soon. Let's say your new host is called an
|
||||
<VAR>xyz</VAR> (e.g., <SAMP>`sun4'</SAMP>), and its full three-part configuration
|
||||
name is <CODE><VAR>arch</VAR>-<VAR>xvend</VAR>-<VAR>xos</VAR></CODE> (e.g.,
|
||||
<SAMP>`sparc-sun-sunos4'</SAMP>). In particular:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
In the top level directory, edit <TT>`config.sub'</TT> and add <VAR>arch</VAR>,
|
||||
<VAR>xvend</VAR>, and <VAR>xos</VAR> to the lists of supported architectures,
|
||||
vendors, and operating systems near the bottom of the file. Also, add
|
||||
<VAR>xyz</VAR> as an alias that maps to
|
||||
<CODE><VAR>arch</VAR>-<VAR>xvend</VAR>-<VAR>xos</VAR></CODE>. You can test your changes by
|
||||
running
|
||||
<P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>./config.sub <VAR>xyz</VAR>
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
and
|
||||
</P><P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>./config.sub <CODE><VAR>arch</VAR>-<VAR>xvend</VAR>-<VAR>xos</VAR></CODE>
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
which should both respond with <CODE><VAR>arch</VAR>-<VAR>xvend</VAR>-<VAR>xos</VAR></CODE>
|
||||
and no error messages.
|
||||
</P><P>
|
||||
|
||||
You need to port BFD, if that hasn't been done already. Porting BFD is
|
||||
beyond the scope of this manual.
|
||||
</P><P>
|
||||
|
||||
<LI>
|
||||
To configure GDB itself, edit <TT>`gdb/configure.host'</TT> to recognize
|
||||
your system and set <CODE>gdb_host</CODE> to <VAR>xyz</VAR>, and (unless your
|
||||
desired target is already available) also edit <TT>`gdb/configure.tgt'</TT>,
|
||||
setting <CODE>gdb_target</CODE> to something appropriate (for instance,
|
||||
<VAR>xyz</VAR>).
|
||||
<P>
|
||||
|
||||
<EM>Maintainer's note: Work in progress. The file
|
||||
<TT>`gdb/configure.host'</TT> originally needed to be modified when either a
|
||||
new native target or a new host machine was being added to GDB.
|
||||
Recent changes have removed this requirement. The file now only needs
|
||||
to be modified when adding a new native configuration. This will likely
|
||||
changed again in the future.</EM>
|
||||
</P><P>
|
||||
|
||||
<LI>
|
||||
Finally, you'll need to specify and define GDB's host-, native-, and
|
||||
target-dependent <TT>`.h'</TT> and <TT>`.c'</TT> files used for your
|
||||
configuration.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC127"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_14.html#SEC126"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_15.html#SEC129"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_14.html#SEC126"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_14.html#SEC126"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_15.html#SEC129"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 14.1 Configuring GDB for Release </H2>
|
||||
<!--docid::SEC127::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX520"></A>
|
||||
<A NAME="IDX521"></A>
|
||||
From the top level directory (containing <TT>`gdb'</TT>, <TT>`bfd'</TT>,
|
||||
<TT>`libiberty'</TT>, and so on):
|
||||
</P><P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>make -f Makefile.in gdb.tar.gz
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
This will properly configure, clean, rebuild any files that are
|
||||
distributed pre-built (e.g. <TT>`c-exp.tab.c'</TT> or <TT>`refcard.ps'</TT>),
|
||||
and will then make a tarfile. (If the top level directory has already
|
||||
been configured, you can just do <CODE>make gdb.tar.gz</CODE> instead.)
|
||||
</P><P>
|
||||
|
||||
This procedure requires:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
|
||||
<LI>
|
||||
symbolic links;
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
<CODE>makeinfo</CODE> (texinfo2 level);
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
TeX;
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
<CODE>dvips</CODE>;
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
<CODE>yacc</CODE> or <CODE>bison</CODE>.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
<small>...</small> and the usual slew of utilities (<CODE>sed</CODE>, <CODE>tar</CODE>, etc.).
|
||||
</P><P>
|
||||
|
||||
<A NAME="SEC128"></A>
|
||||
<H3> TEMPORARY RELEASE PROCEDURE FOR DOCUMENTATION </H3>
|
||||
<!--docid::SEC128::-->
|
||||
<P>
|
||||
|
||||
<TT>`gdb.texinfo'</TT> is currently marked up using the texinfo-2 macros,
|
||||
which are not yet a default for anything (but we have to start using
|
||||
them sometime).
|
||||
</P><P>
|
||||
|
||||
For making paper, the only thing this implies is the right generation of
|
||||
<TT>`texinfo.tex'</TT> needs to be included in the distribution.
|
||||
</P><P>
|
||||
|
||||
For making info files, however, rather than duplicating the texinfo2
|
||||
distribution, generate <TT>`gdb-all.texinfo'</TT> locally, and include the
|
||||
files <TT>`gdb.info*'</TT> in the distribution. Note the plural;
|
||||
<CODE>makeinfo</CODE> will split the document into one overall file and five
|
||||
or so included files.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Releasing GDB"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_14.html#SEC126"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_15.html#SEC129"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
1299
Ref-docs/manual gdb/gdbint/gdbint_15.html
Normal file
1299
Ref-docs/manual gdb/gdbint/gdbint_15.html
Normal file
File diff suppressed because it is too large
Load Diff
282
Ref-docs/manual gdb/gdbint/gdbint_16.html
Normal file
282
Ref-docs/manual gdb/gdbint/gdbint_16.html
Normal file
@@ -0,0 +1,282 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Testsuite</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Testsuite">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Testsuite">
|
||||
<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="SEC175"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_15.html#SEC174"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC176"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 16. Testsuite </H1>
|
||||
<!--docid::SEC175::-->
|
||||
<P>
|
||||
|
||||
The testsuite is an important component of the GDB package.
|
||||
While it is always worthwhile to encourage user testing, in practice
|
||||
this is rarely sufficient; users typically use only a small subset of
|
||||
the available commands, and it has proven all too common for a change
|
||||
to cause a significant regression that went unnoticed for some time.
|
||||
</P><P>
|
||||
|
||||
The GDB testsuite uses the DejaGNU testing framework.
|
||||
DejaGNU is built using <CODE>Tcl</CODE> and <CODE>expect</CODE>. The tests
|
||||
themselves are calls to various <CODE>Tcl</CODE> procs; the framework runs all the
|
||||
procs and summarizes the passes and fails.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC176"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC175"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC177"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC175"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC175"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 16.1 Using the Testsuite </H2>
|
||||
<!--docid::SEC176::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX522"></A>
|
||||
To run the testsuite, simply go to the GDB object directory (or to the
|
||||
testsuite's objdir) and type <CODE>make check</CODE>. This just sets up some
|
||||
environment variables and invokes DejaGNU's <CODE>runtest</CODE> script. While
|
||||
the testsuite is running, you'll get mentions of which test file is in use,
|
||||
and a mention of any unexpected passes or fails. When the testsuite is
|
||||
finished, you'll get a summary that looks like this:
|
||||
</P><P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> === gdb Summary ===
|
||||
|
||||
# of expected passes 6016
|
||||
# of unexpected failures 58
|
||||
# of unexpected successes 5
|
||||
# of expected failures 183
|
||||
# of unresolved testcases 3
|
||||
# of untested testcases 5
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
The ideal test run consists of expected passes only; however, reality
|
||||
conspires to keep us from this ideal. Unexpected failures indicate
|
||||
real problems, whether in GDB or in the testsuite. Expected
|
||||
failures are still failures, but ones which have been decided are too
|
||||
hard to deal with at the time; for instance, a test case might work
|
||||
everywhere except on AIX, and there is no prospect of the AIX case
|
||||
being fixed in the near future. Expected failures should not be added
|
||||
lightly, since you may be masking serious bugs in GDB.
|
||||
Unexpected successes are expected fails that are passing for some
|
||||
reason, while unresolved and untested cases often indicate some minor
|
||||
catastrophe, such as the compiler being unable to deal with a test
|
||||
program.
|
||||
</P><P>
|
||||
|
||||
When making any significant change to GDB, you should run the
|
||||
testsuite before and after the change, to confirm that there are no
|
||||
regressions. Note that truly complete testing would require that you
|
||||
run the testsuite with all supported configurations and a variety of
|
||||
compilers; however this is more than really necessary. In many cases
|
||||
testing with a single configuration is sufficient. Other useful
|
||||
options are to test one big-endian (Sparc) and one little-endian (x86)
|
||||
host, a cross config with a builtin simulator (powerpc-eabi,
|
||||
mips-elf), or a 64-bit host (Alpha).
|
||||
</P><P>
|
||||
|
||||
If you add new functionality to GDB, please consider adding
|
||||
tests for it as well; this way future GDB hackers can detect
|
||||
and fix their changes that break the functionality you added.
|
||||
Similarly, if you fix a bug that was not previously reported as a test
|
||||
failure, please add a test case for it. Some cases are extremely
|
||||
difficult to test, such as code that handles host OS failures or bugs
|
||||
in particular versions of compilers, and it's OK not to try to write
|
||||
tests for all of those.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC177"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC176"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC178"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC178"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC175"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 16.2 Testsuite Organization </H2>
|
||||
<!--docid::SEC177::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX523"></A>
|
||||
The testsuite is entirely contained in <TT>`gdb/testsuite'</TT>. While the
|
||||
testsuite includes some makefiles and configury, these are very minimal,
|
||||
and used for little besides cleaning up, since the tests themselves
|
||||
handle the compilation of the programs that GDB will run. The file
|
||||
<TT>`testsuite/lib/gdb.exp'</TT> contains common utility procs useful for
|
||||
all GDB tests, while the directory <TT>`testsuite/config'</TT> contains
|
||||
configuration-specific files, typically used for special-purpose
|
||||
definitions of procs like <CODE>gdb_load</CODE> and <CODE>gdb_start</CODE>.
|
||||
</P><P>
|
||||
|
||||
The tests themselves are to be found in <TT>`testsuite/gdb.*'</TT> and
|
||||
subdirectories of those. The names of the test files must always end
|
||||
with <TT>`.exp'</TT>. DejaGNU collects the test files by wildcarding
|
||||
in the test directories, so both subdirectories and individual files
|
||||
get chosen and run in alphabetical order.
|
||||
</P><P>
|
||||
|
||||
The following table lists the main types of subdirectories and what they
|
||||
are for. Since DejaGNU finds test files no matter where they are
|
||||
located, and since each test file sets up its own compilation and
|
||||
execution environment, this organization is simply for convenience and
|
||||
intelligibility.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><TT>`gdb.base'</TT>
|
||||
<DD>This is the base testsuite. The tests in it should apply to all
|
||||
configurations of GDB (but generic native-only tests may live here).
|
||||
The test programs should be in the subset of C that is valid K&R,
|
||||
ANSI/ISO, and C++ (<CODE>#ifdef</CODE>s are allowed if necessary, for instance
|
||||
for prototypes).
|
||||
<P>
|
||||
|
||||
<DT><TT>`gdb.<VAR>lang</VAR>'</TT>
|
||||
<DD>Language-specific tests for any language <VAR>lang</VAR> besides C. Examples are
|
||||
<TT>`gdb.c++'</TT> and <TT>`gdb.java'</TT>.
|
||||
<P>
|
||||
|
||||
<DT><TT>`gdb.<VAR>platform</VAR>'</TT>
|
||||
<DD>Non-portable tests. The tests are specific to a specific configuration
|
||||
(host or target), such as HP-UX or eCos. Example is <TT>`gdb.hp'</TT>, for
|
||||
HP-UX.
|
||||
<P>
|
||||
|
||||
<DT><TT>`gdb.<VAR>compiler</VAR>'</TT>
|
||||
<DD>Tests specific to a particular compiler. As of this writing (June
|
||||
1999), there aren't currently any groups of tests in this category that
|
||||
couldn't just as sensibly be made platform-specific, but one could
|
||||
imagine a <TT>`gdb.gcc'</TT>, for tests of GDB's handling of GCC
|
||||
extensions.
|
||||
<P>
|
||||
|
||||
<DT><TT>`gdb.<VAR>subsystem</VAR>'</TT>
|
||||
<DD>Tests that exercise a specific GDB subsystem in more depth. For
|
||||
instance, <TT>`gdb.disasm'</TT> exercises various disassemblers, while
|
||||
<TT>`gdb.stabs'</TT> tests pathways through the stabs symbol reader.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC178"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC177"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC175"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC175"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 16.3 Writing Tests </H2>
|
||||
<!--docid::SEC178::-->
|
||||
<P>
|
||||
|
||||
In many areas, the GDB tests are already quite comprehensive; you
|
||||
should be able to copy existing tests to handle new cases.
|
||||
</P><P>
|
||||
|
||||
You should try to use <CODE>gdb_test</CODE> whenever possible, since it
|
||||
includes cases to handle all the unexpected errors that might happen.
|
||||
However, it doesn't cost anything to add new test procedures; for
|
||||
instance, <TT>`gdb.base/exprs.exp'</TT> defines a <CODE>test_expr</CODE> that
|
||||
calls <CODE>gdb_test</CODE> multiple times.
|
||||
</P><P>
|
||||
|
||||
Only use <CODE>send_gdb</CODE> and <CODE>gdb_expect</CODE> when absolutely
|
||||
necessary, such as when GDB has several valid responses to a command.
|
||||
</P><P>
|
||||
|
||||
The source language programs do <EM>not</EM> need to be in a consistent
|
||||
style. Since GDB is used to debug programs written in many different
|
||||
styles, it's worth having a mix of styles in the testsuite; for
|
||||
instance, some GDB bugs involving the display of source lines would
|
||||
never manifest themselves if the programs used GNU coding style
|
||||
uniformly.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Hints"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC175"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
371
Ref-docs/manual gdb/gdbint/gdbint_17.html
Normal file
371
Ref-docs/manual gdb/gdbint/gdbint_17.html
Normal file
@@ -0,0 +1,371 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Hints</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Hints">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Hints">
|
||||
<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="SEC179"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_16.html#SEC178"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC180"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 17. Hints </H1>
|
||||
<!--docid::SEC179::-->
|
||||
<P>
|
||||
|
||||
Check the <TT>`README'</TT> file, it often has useful information that does not
|
||||
appear anywhere else in the directory.
|
||||
</P><P>
|
||||
|
||||
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_17.html#SEC180">17.1 Getting Started</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Getting started working on GDB</TD></TR>
|
||||
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdbint_17.html#SEC181">17.2 Debugging GDB with itself</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR>
|
||||
</TABLE></BLOCKQUOTE>
|
||||
<P>
|
||||
|
||||
<A NAME="Getting Started"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC180"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC181"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 17.1 Getting Started </H2>
|
||||
<!--docid::SEC180::-->
|
||||
<P>
|
||||
|
||||
GDB is a large and complicated program, and if you first starting to
|
||||
work on it, it can be hard to know where to start. Fortunately, if you
|
||||
know how to go about it, there are ways to figure out what is going on.
|
||||
</P><P>
|
||||
|
||||
This manual, the GDB Internals manual, has information which applies
|
||||
generally to many parts of GDB.
|
||||
</P><P>
|
||||
|
||||
Information about particular functions or data structures are located in
|
||||
comments with those functions or data structures. If you run across a
|
||||
function or a global variable which does not have a comment correctly
|
||||
explaining what is does, this can be thought of as a bug in GDB; feel
|
||||
free to submit a bug report, with a suggested comment if you can figure
|
||||
out what the comment should say. If you find a comment which is
|
||||
actually wrong, be especially sure to report that.
|
||||
</P><P>
|
||||
|
||||
Comments explaining the function of macros defined in host, target, or
|
||||
native dependent files can be in several places. Sometimes they are
|
||||
repeated every place the macro is defined. Sometimes they are where the
|
||||
macro is used. Sometimes there is a header file which supplies a
|
||||
default definition of the macro, and the comment is there. This manual
|
||||
also documents all the available macros.
|
||||
</P><P>
|
||||
|
||||
Start with the header files. Once you have some idea of how
|
||||
GDB's internal symbol tables are stored (see <TT>`symtab.h'</TT>,
|
||||
<TT>`gdbtypes.h'</TT>), you will find it much easier to understand the
|
||||
code which uses and creates those symbol tables.
|
||||
</P><P>
|
||||
|
||||
You may wish to process the information you are getting somehow, to
|
||||
enhance your understanding of it. Summarize it, translate it to another
|
||||
language, add some (perhaps trivial or non-useful) feature to GDB, use
|
||||
the code to predict what a test case would do and write the test case
|
||||
and verify your prediction, etc. If you are reading code and your eyes
|
||||
are starting to glaze over, this is a sign you need to use a more active
|
||||
approach.
|
||||
</P><P>
|
||||
|
||||
Once you have a part of GDB to start with, you can find more
|
||||
specifically the part you are looking for by stepping through each
|
||||
function with the <CODE>next</CODE> command. Do not use <CODE>step</CODE> or you
|
||||
will quickly get distracted; when the function you are stepping through
|
||||
calls another function try only to get a big-picture understanding
|
||||
(perhaps using the comment at the beginning of the function being
|
||||
called) of what it does. This way you can identify which of the
|
||||
functions being called by the function you are stepping through is the
|
||||
one which you are interested in. You may need to examine the data
|
||||
structures generated at each stage, with reference to the comments in
|
||||
the header files explaining what the data structures are supposed to
|
||||
look like.
|
||||
</P><P>
|
||||
|
||||
Of course, this same technique can be used if you are just reading the
|
||||
code, rather than actually stepping through it. The same general
|
||||
principle applies--when the code you are looking at calls something
|
||||
else, just try to understand generally what the code being called does,
|
||||
rather than worrying about all its details.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX524"></A>
|
||||
A good place to start when tracking down some particular area is with
|
||||
a command which invokes that feature. Suppose you want to know how
|
||||
single-stepping works. As a GDB user, you know that the
|
||||
<CODE>step</CODE> command invokes single-stepping. The command is invoked
|
||||
via command tables (see <TT>`command.h'</TT>); by convention the function
|
||||
which actually performs the command is formed by taking the name of
|
||||
the command and adding <SAMP>`_command'</SAMP>, or in the case of an
|
||||
<CODE>info</CODE> subcommand, <SAMP>`_info'</SAMP>. For example, the <CODE>step</CODE>
|
||||
command invokes the <CODE>step_command</CODE> function and the <CODE>info
|
||||
display</CODE> command invokes <CODE>display_info</CODE>. When this convention is
|
||||
not followed, you might have to use <CODE>grep</CODE> or <KBD>M-x
|
||||
tags-search</KBD> in emacs, or run GDB on itself and set a
|
||||
breakpoint in <CODE>execute_command</CODE>.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX525"></A>
|
||||
If all of the above fail, it may be appropriate to ask for information
|
||||
on <CODE>bug-gdb</CODE>. But <EM>never</EM> post a generic question like "I was
|
||||
wondering if anyone could give me some tips about understanding
|
||||
GDB"---if we had some magic secret we would put it in this manual.
|
||||
Suggestions for improving the manual are always welcome, of course.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Debugging GDB"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC181"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC180"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC182"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC182"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 17.2 Debugging GDB with itself </H2>
|
||||
<!--docid::SEC181::-->
|
||||
<P>
|
||||
|
||||
If GDB is limping on your machine, this is the preferred way to get it
|
||||
fully functional. Be warned that in some ancient Unix systems, like
|
||||
Ultrix 4.2, a program can't be running in one process while it is being
|
||||
debugged in another. Rather than typing the command <KBD>./gdb
|
||||
./gdb</KBD>, which works on Suns and such, you can copy <TT>`gdb'</TT> to
|
||||
<TT>`gdb2'</TT> and then type <KBD>./gdb ./gdb2</KBD>.
|
||||
</P><P>
|
||||
|
||||
When you run GDB in the GDB source directory, it will read a
|
||||
<TT>`.gdbinit'</TT> file that sets up some simple things to make debugging
|
||||
gdb easier. The <CODE>info</CODE> command, when executed without a subcommand
|
||||
in a GDB being debugged by gdb, will pop you back up to the top level
|
||||
gdb. See <TT>`.gdbinit'</TT> for details.
|
||||
</P><P>
|
||||
|
||||
If you use emacs, you will probably want to do a <CODE>make TAGS</CODE> after
|
||||
you configure your distribution; this will put the machine dependent
|
||||
routines for your local machine where they will be accessed first by
|
||||
<KBD>M-.</KBD>
|
||||
</P><P>
|
||||
|
||||
Also, make sure that you've either compiled GDB with your local cc, or
|
||||
have run <CODE>fixincludes</CODE> if you are compiling with gcc.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC182"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC181"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC183"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC183"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 17.3 Submitting Patches </H2>
|
||||
<!--docid::SEC182::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX526"></A>
|
||||
Thanks for thinking of offering your changes back to the community of
|
||||
GDB users. In general we like to get well designed enhancements.
|
||||
Thanks also for checking in advance about the best way to transfer the
|
||||
changes.
|
||||
</P><P>
|
||||
|
||||
The GDB maintainers will only install "cleanly designed" patches.
|
||||
This manual summarizes what we believe to be clean design for GDB.
|
||||
</P><P>
|
||||
|
||||
If the maintainers don't have time to put the patch in when it arrives,
|
||||
or if there is any question about a patch, it goes into a large queue
|
||||
with everyone else's patches and bug reports.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX527"></A>
|
||||
The legal issue is that to incorporate substantial changes requires a
|
||||
copyright assignment from you and/or your employer, granting ownership
|
||||
of the changes to the Free Software Foundation. You can get the
|
||||
standard documents for doing this by sending mail to <CODE>gnu@gnu.org</CODE>
|
||||
and asking for it. We recommend that people write in "All programs
|
||||
owned by the Free Software Foundation" as "NAME OF PROGRAM", so that
|
||||
changes in many programs (not just GDB, but GAS, Emacs, GCC,
|
||||
etc) can be
|
||||
contributed with only one piece of legalese pushed through the
|
||||
bureaucracy and filed with the FSF. We can't start merging changes until
|
||||
this paperwork is received by the FSF (their rules, which we follow
|
||||
since we maintain it for them).
|
||||
</P><P>
|
||||
|
||||
Technically, the easiest way to receive changes is to receive each
|
||||
feature as a small context diff or unidiff, suitable for <CODE>patch</CODE>.
|
||||
Each message sent to me should include the changes to C code and
|
||||
header files for a single feature, plus <TT>`ChangeLog'</TT> entries for
|
||||
each directory where files were modified, and diffs for any changes
|
||||
needed to the manuals (<TT>`gdb/doc/gdb.texinfo'</TT> or
|
||||
<TT>`gdb/doc/gdbint.texinfo'</TT>). If there are a lot of changes for a
|
||||
single feature, they can be split down into multiple messages.
|
||||
</P><P>
|
||||
|
||||
In this way, if we read and like the feature, we can add it to the
|
||||
sources with a single patch command, do some testing, and check it in.
|
||||
If you leave out the <TT>`ChangeLog'</TT>, we have to write one. If you leave
|
||||
out the doc, we have to puzzle out what needs documenting. Etc., etc.
|
||||
</P><P>
|
||||
|
||||
The reason to send each change in a separate message is that we will not
|
||||
install some of the changes. They'll be returned to you with questions
|
||||
or comments. If we're doing our job correctly, the message back to you
|
||||
will say what you have to fix in order to make the change acceptable.
|
||||
The reason to have separate messages for separate features is so that
|
||||
the acceptable changes can be installed while one or more changes are
|
||||
being reworked. If multiple features are sent in a single message, we
|
||||
tend to not put in the effort to sort out the acceptable changes from
|
||||
the unacceptable, so none of the features get installed until all are
|
||||
acceptable.
|
||||
</P><P>
|
||||
|
||||
If this sounds painful or authoritarian, well, it is. But we get a lot
|
||||
of bug reports and a lot of patches, and many of them don't get
|
||||
installed because we don't have the time to finish the job that the bug
|
||||
reporter or the contributor could have done. Patches that arrive
|
||||
complete, working, and well designed, tend to get installed on the day
|
||||
they arrive. The others go into a queue and get installed as time
|
||||
permits, which, since the maintainers have many demands to meet, may not
|
||||
be for quite some time.
|
||||
</P><P>
|
||||
|
||||
Please send patches directly to
|
||||
<A HREF="mailto:gdb-patches@sources.redhat.com">the GDB maintainers</A>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC183"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC182"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 17.4 Obsolete Conditionals </H2>
|
||||
<!--docid::SEC183::-->
|
||||
<P>
|
||||
|
||||
Fragments of old code in GDB sometimes reference or set the following
|
||||
configuration macros. They should not be used by new code, and old uses
|
||||
should be removed as those parts of the debugger are otherwise touched.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><CODE>STACK_END_ADDR</CODE>
|
||||
<DD>This macro used to define where the end of the stack appeared, for use
|
||||
in interpreting core file formats that don't record this address in the
|
||||
core file itself. This information is now configured in BFD, and GDB
|
||||
gets the info portably from there. The values in GDB's configuration
|
||||
files should be moved into BFD configuration files (if needed there),
|
||||
and deleted from all of GDB's config files.
|
||||
<P>
|
||||
|
||||
Any <TT>`<VAR>foo</VAR>-xdep.c'</TT> file that references STACK_END_ADDR
|
||||
is so old that it has never been converted to use BFD. Now that's old!
|
||||
</P><P>
|
||||
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<A NAME="GNU Free Documentation License"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
482
Ref-docs/manual gdb/gdbint/gdbint_18.html
Normal file
482
Ref-docs/manual gdb/gdbint/gdbint_18.html
Normal file
@@ -0,0 +1,482 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: GNU Free Documentation License</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: GNU Free Documentation License">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: GNU Free Documentation License">
|
||||
<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="SEC184"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC183"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC185"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_17.html#SEC179"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> A. GNU Free Documentation License </H1>
|
||||
<!--docid::SEC184::-->
|
||||
<center>
|
||||
Version 1.1, March 2000
|
||||
</center>
|
||||
<P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
</pre></td></tr></table><OL>
|
||||
<LI>
|
||||
PREAMBLE
|
||||
<P>
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
written document "free" in the sense of freedom: to assure everyone
|
||||
the effective freedom to copy and redistribute it, with or without
|
||||
modifying it, either commercially or noncommercially. Secondarily,
|
||||
this License preserves for the author and publisher a way to get
|
||||
credit for their work, while not being considered responsible for
|
||||
modifications made by others.
|
||||
</P><P>
|
||||
|
||||
This License is a kind of "copyleft", which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
</P><P>
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
</P><P>
|
||||
|
||||
<LI>
|
||||
APPLICABILITY AND DEFINITIONS
|
||||
<P>
|
||||
|
||||
This License applies to any manual or other work that contains a
|
||||
notice placed by the copyright holder saying it can be distributed
|
||||
under the terms of this License. The "Document", below, refers to any
|
||||
such manual or work. Any member of the public is a licensee, and is
|
||||
addressed as "you."
|
||||
</P><P>
|
||||
|
||||
A "Modified Version" of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
</P><P>
|
||||
|
||||
A "Secondary Section" is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall subject
|
||||
(or to related matters) and contains nothing that could fall directly
|
||||
within that overall subject. (For example, if the Document is in part a
|
||||
textbook of mathematics, a Secondary Section may not explain any
|
||||
mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
</P><P>
|
||||
|
||||
The "Invariant Sections" are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License.
|
||||
</P><P>
|
||||
|
||||
The "Cover Texts" are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License.
|
||||
</P><P>
|
||||
|
||||
A "Transparent" copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, whose contents can be viewed and edited directly and
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup has been designed to thwart or discourage
|
||||
subsequent modification by readers is not Transparent. A copy that is
|
||||
not "Transparent" is called "Opaque."
|
||||
</P><P>
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
||||
or XML using a publicly available DTD, and standard-conforming simple
|
||||
HTML designed for human modification. Opaque formats include
|
||||
PostScript, PDF, proprietary formats that can be read and edited only
|
||||
by proprietary word processors, SGML or XML for which the DTD and/or
|
||||
processing tools are not generally available, and the
|
||||
machine-generated HTML produced by some word processors for output
|
||||
purposes only.
|
||||
</P><P>
|
||||
|
||||
The "Title Page" means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, "Title Page" means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
<LI>
|
||||
VERBATIM COPYING
|
||||
<P>
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
</P><P>
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
<LI>
|
||||
COPYING IN QUANTITY
|
||||
<P>
|
||||
|
||||
If you publish printed copies of the Document numbering more than 100,
|
||||
and the Document's license notice requires Cover Texts, you must enclose
|
||||
the copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
</P><P>
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
</P><P>
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a publicly-accessible computer-network location containing a complete
|
||||
Transparent copy of the Document, free of added material, which the
|
||||
general network-using public has access to download anonymously at no
|
||||
charge using public-standard network protocols. If you use the latter
|
||||
option, you must take reasonably prudent steps, when you begin
|
||||
distribution of Opaque copies in quantity, to ensure that this
|
||||
Transparent copy will remain thus accessible at the stated location
|
||||
until at least one year after the last time you distribute an Opaque
|
||||
copy (directly or through your agents or retailers) of that edition to
|
||||
the public.
|
||||
</P><P>
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
<LI>
|
||||
MODIFICATIONS
|
||||
<P>
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
</P><P>
|
||||
|
||||
A. Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.<BR>
|
||||
B. List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has less than five).<BR>
|
||||
C. State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.<BR>
|
||||
D. Preserve all the copyright notices of the Document.<BR>
|
||||
E. Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.<BR>
|
||||
F. Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.<BR>
|
||||
G. Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.<BR>
|
||||
H. Include an unaltered copy of this License.<BR>
|
||||
I. Preserve the section entitled "History", and its title, and add to
|
||||
it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section entitled "History" in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.<BR>
|
||||
J. Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the "History" section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.<BR>
|
||||
K. In any section entitled "Acknowledgements" or "Dedications",
|
||||
preserve the section's title, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements
|
||||
and/or dedications given therein.<BR>
|
||||
L. Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.<BR>
|
||||
M. Delete any section entitled "Endorsements." Such a section
|
||||
may not be included in the Modified Version.<BR>
|
||||
N. Do not retitle any existing section as "Endorsements"
|
||||
or to conflict in title with any Invariant Section.<BR>
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
</P><P>
|
||||
|
||||
You may add a section entitled "Endorsements", provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties--for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
</P><P>
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
</P><P>
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
<LI>
|
||||
COMBINING DOCUMENTS
|
||||
<P>
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice.
|
||||
</P><P>
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
</P><P>
|
||||
|
||||
In the combination, you must combine any sections entitled "History"
|
||||
in the various original documents, forming one section entitled
|
||||
"History"; likewise combine any sections entitled "Acknowledgements",
|
||||
and any sections entitled "Dedications." You must delete all sections
|
||||
entitled "Endorsements."
|
||||
<LI>
|
||||
COLLECTIONS OF DOCUMENTS
|
||||
<P>
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
</P><P>
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
<LI>
|
||||
AGGREGATION WITH INDEPENDENT WORKS
|
||||
<P>
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, does not as a whole count as a Modified Version
|
||||
of the Document, provided no compilation copyright is claimed for the
|
||||
compilation. Such a compilation is called an "aggregate", and this
|
||||
License does not apply to the other self-contained works thus compiled
|
||||
with the Document, on account of their being thus compiled, if they
|
||||
are not themselves derivative works of the Document.
|
||||
</P><P>
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one quarter
|
||||
of the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that surround only the Document within the aggregate.
|
||||
Otherwise they must appear on covers around the whole aggregate.
|
||||
<LI>
|
||||
TRANSLATION
|
||||
<P>
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License provided that you also include the
|
||||
original English version of this License. In case of a disagreement
|
||||
between the translation and the original English version of this
|
||||
License, the original English version will prevail.
|
||||
<LI>
|
||||
TERMINATION
|
||||
<P>
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document is void, and will
|
||||
automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this
|
||||
License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
<LI>
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
<P>
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
http://www.gnu.org/copyleft/.
|
||||
</P><P>
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License "or any later version" applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation.
|
||||
</P><P>
|
||||
|
||||
</OL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC185"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC184"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> ADDENDUM: How to use this License for your documents </H2>
|
||||
<!--docid::SEC185::-->
|
||||
<P>
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
</P><P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>Copyright (C) <VAR>year</VAR> <VAR>your name</VAR>.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
or any later version published by the Free Software Foundation;
|
||||
with the Invariant Sections being <VAR>list their titles</VAR>, with the
|
||||
Front-Cover Texts being <VAR>list</VAR>, and with the Back-Cover Texts being <VAR>list</VAR>.
|
||||
A copy of the license is included in the section entitled "GNU
|
||||
Free Documentation License."
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
If you have no Invariant Sections, write "with no Invariant Sections"
|
||||
instead of saying which ones are invariant. If you have no
|
||||
Front-Cover Texts, write "no Front-Cover Texts" instead of
|
||||
"Front-Cover Texts being <VAR>list</VAR>"; likewise for Back-Cover Texts.
|
||||
</P><P>
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Index"></A>
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
316
Ref-docs/manual gdb/gdbint/gdbint_19.html
Normal file
316
Ref-docs/manual gdb/gdbint/gdbint_19.html
Normal file
@@ -0,0 +1,316 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Index</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Index">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Index">
|
||||
<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="SEC186"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_18.html#SEC185"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_20.html"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> Index </H1>
|
||||
<!--docid::SEC186::-->
|
||||
<P>
|
||||
|
||||
<table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><P></P>
|
||||
<TABLE border=0>
|
||||
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_*"></A>*</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX278"><CODE>*ADDRESS_CLASS_TYPE_FLAGS_TO_NAME</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">9.4 Address Classes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX501"><CODE>*gdbarch_data</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">13.2 Per-architecture module data</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp__"></A>_</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX136"><CODE>_initialize_language</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_A"></A>A</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX112"><CODE>a.out</CODE> format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC45">6.4.1 a.out</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX51"><CODE>add_cmd</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX52"><CODE>add_com</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX53"><CODE>add_setshow_cmd</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX54"><CODE>add_setshow_cmd_full</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX95"><CODE>add_symtab_fns</CODE></A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX142">adding a new host</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC64">8.1 Adding a New Host</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX97">adding a symbol-reading module</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX468">adding a target</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC78">9.11 Adding a New Target</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX126">adding debugging info reader</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC60">6.6 Adding a New Symbol Reader to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX128">adding source language</A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX292"><CODE>ADDITIONAL_OPTION_CASES</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX291"><CODE>ADDITIONAL_OPTION_HANDLER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX290"><CODE>ADDITIONAL_OPTION_HELP</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX293"><CODE>ADDITIONAL_OPTIONS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX294"><CODE>ADDR_BITS_REMOVE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">address classes</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">9.4 Address Classes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">address representation</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">address spaces, separate data and code</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX295"><CODE>ADDRESS_CLASS_NAME_TO_TYPE_FLAGS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX279"><CODE>ADDRESS_CLASS_NAME_to_TYPE_FLAGS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">9.4 Address Classes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX296"><CODE>ADDRESS_CLASS_NAME_TO_TYPE_FLAGS_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX277"><CODE>ADDRESS_CLASS_TYPE_FLAGS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">9.4 Address Classes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX297"><CODE>ADDRESS_CLASS_TYPE_FLAGS (<VAR>byte_size</VAR>, <VAR>dwarf2_addr_class</VAR>)</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX298"><CODE>ADDRESS_CLASS_TYPE_FLAGS_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX299"><CODE>ADDRESS_CLASS_TYPE_FLAGS_TO_NAME</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX300"><CODE>ADDRESS_CLASS_TYPE_FLAGS_TO_NAME_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX276"><CODE>ADDRESS_TO_POINTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX301"><CODE>ADDRESS_TO_POINTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#SEC6">algorithms</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC6">3. Algorithms</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX158"><CODE>ALIGN_STACK_ON_STARTUP</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX159"><CODE>ALIGN_STACK_ON_STARTUP</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX137"><CODE>allocate_symtab</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX510">assumptions about targets</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX472"><CODE>ATTACH_DETACH</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX216"><CODE>ATTR_NORETURN</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX217"><CODE>ATTR_NORETURN</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_B"></A>B</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX302"><CODE>BEFORE_MAIN_LOOP_HOOK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX303"><CODE>BELIEVE_PCC_PROMOTION</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX304"><CODE>BELIEVE_PCC_PROMOTION_TYPE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_12.html#SEC103">BFD library</A></TD><TD valign=top><A HREF="gdbint_12.html#SEC103">12.1 BFD</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX308"><CODE>BIG_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX309"><CODE>BIG_REMOTE_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX305"><CODE>BITS_BIG_ENDIAN</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX461"><CODE>BPT_VECTOR</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX462"><CODE>BPT_VECTOR</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX13"><CODE>BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC8">3.2 Breakpoint Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX306"><CODE>BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX312"><CODE>BREAKPOINT_FROM_PC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX9">breakpoints</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC8">3.2 Breakpoint Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_17.html#IDX526"><CODE>bug-gdb</CODE> mailing list</A></TD><TD valign=top><A HREF="gdbint_17.html#SEC180">17.1 Getting Started</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_C"></A>C</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX506">C data types</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC120">13.4.6 C Usage</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX4">call stack frame</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC7">3.1 Frames</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX318"><CODE>CALL_DUMMY</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX319"><CODE>CALL_DUMMY_LOCATION</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX315"><CODE>CALL_DUMMY_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX320"><CODE>CALL_DUMMY_STACK_ADJUST</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX321"><CODE>CALL_DUMMY_STACK_ADJUST_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX316"><CODE>CALL_DUMMY_WORDS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX413"><CODE>call_function_by_hand</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX322"><CODE>CANNOT_FETCH_REGISTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX34"><CODE>CANNOT_STEP_HW_WATCHPOINTS</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX323"><CODE>CANNOT_STORE_REGISTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX195"><CODE>CC_HAS_LONG_LONG</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX196"><CODE>CC_HAS_LONG_LONG</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX264"><CODE>char</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX473"><CODE>CHILD_PREPARE_TO_STORE</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX68"><CODE>cleanup</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX71"><CODE>cleanup</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC111">cleanups</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC111">13.1 Cleanups</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX324"><CODE>CLEAR_DEFERRED_STORES</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX495"><CODE>CLEAR_SOLIB</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX50">CLI</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">code pointers, word-addressed</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC114">coding standards</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC114">13.4 GDB Coding Standards</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX326"><CODE>COERCE_FLOAT_TO_DOUBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX121">COFF debugging info</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC55">6.5.2 COFF</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX113">COFF format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC46">6.4.2 COFF</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_17.html#IDX525">command implementation</A></TD><TD valign=top><A HREF="gdbint_17.html#SEC180">17.1 Getting Started</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX49">command interpreter</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX505">comment formatting</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC119">13.4.5 Comments</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC117">compiler warnings</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC117">13.4.3 Compiler Warnings</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX286"><CODE>CONVERT_REGISTER_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX333"><CODE>CONVERT_REGISTER_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">converting between pointers and addresses</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX381">converting integers to addresses</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC79">converting targets to multi-arch</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC79">9.12 Converting an existing Target Architecture to Multi-arch</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX5"><CODE>create_new_frame</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC7">3.1 Frames</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX161"><CODE>CRLF_SOURCE_FILES</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX162"><CODE>CRLF_SOURCE_FILES</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX135"><CODE>current_language</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_D"></A>D</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">D10V addresses</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX74">data output</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">data-pointer, per-architecture/per-module</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">13.2 Per-architecture module data</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX334"><CODE>DBX_PARM_SYMBOL_CLASS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX496"><CODE>DEBUG_PTRACE</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_17.html#SEC181">debugging GDB</A></TD><TD valign=top><A HREF="gdbint_17.html#SEC181">17.2 Debugging GDB with itself</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX335"><CODE>DECR_PC_AFTER_BREAK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX30"><CODE>DECR_PC_AFTER_HW_BREAK</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX336"><CODE>DECR_PC_AFTER_HW_BREAK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX332"><CODE>default_coerce_float_to_double</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX164"><CODE>DEFAULT_PROMPT</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX165"><CODE>DEFAULT_PROMPT</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX56"><CODE>deprecate_cmd</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX55">deprecating commands</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX509">design</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX167"><CODE>DEV_TTY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX168"><CODE>DEV_TTY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX519"><CODE>DIRNAME_SEPARATOR</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX337"><CODE>DISABLE_UNSETTABLE_BREAK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX499"><CODE>discard_cleanups</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC111">13.1 Cleanups</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX498"><CODE>do_cleanups</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC111">13.1 Cleanups</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX325"><CODE>DO_DEFERRED_STORES</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX338"><CODE>DO_REGISTERS_INFO</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX163">DOS text files</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">DW_AT_address_class</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">9.4 Address Classes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">DW_AT_byte_size</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC71">9.4 Address Classes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX123">DWARF 1 debugging info</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC57">6.5.4 DWARF 1</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX124">DWARF 2 debugging info</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC58">6.5.5 DWARF 2</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX343"><CODE>DWARF2_REG_TO_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX342"><CODE>DWARF_REG_TO_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
214
Ref-docs/manual gdb/gdbint/gdbint_2.html
Normal file
214
Ref-docs/manual gdb/gdbint/gdbint_2.html
Normal file
@@ -0,0 +1,214 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Overall Structure</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Overall Structure">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Overall Structure">
|
||||
<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="SEC2"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_1.html#SEC1"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC3"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 2. Overall Structure </H1>
|
||||
<!--docid::SEC2::-->
|
||||
<P>
|
||||
|
||||
GDB consists of three major subsystems: user interface,
|
||||
symbol handling (the <EM>symbol side</EM>), and target system handling (the
|
||||
<EM>target side</EM>).
|
||||
</P><P>
|
||||
|
||||
The user interface consists of several actual interfaces, plus
|
||||
supporting code.
|
||||
</P><P>
|
||||
|
||||
The symbol side consists of object file readers, debugging info
|
||||
interpreters, symbol table management, source language expression
|
||||
parsing, type and value printing.
|
||||
</P><P>
|
||||
|
||||
The target side consists of execution control, stack frame analysis, and
|
||||
physical target manipulation.
|
||||
</P><P>
|
||||
|
||||
The target side/symbol side division is not formal, and there are a
|
||||
number of exceptions. For instance, core file support involves symbolic
|
||||
elements (the basic core file reader is in BFD) and target elements (it
|
||||
supplies the contents of memory and the values of registers). Instead,
|
||||
this division is useful for understanding how the minor subsystems
|
||||
should fit together.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC3"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC4"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 2.1 The Symbol Side </H2>
|
||||
<!--docid::SEC3::-->
|
||||
<P>
|
||||
|
||||
The symbolic side of GDB can be thought of as "everything
|
||||
you can do in GDB without having a live program running".
|
||||
For instance, you can look at the types of variables, and evaluate
|
||||
many kinds of expressions.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC4"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC3"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC5"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC5"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 2.2 The Target Side </H2>
|
||||
<!--docid::SEC4::-->
|
||||
<P>
|
||||
|
||||
The target side of GDB is the "bits and bytes manipulator".
|
||||
Although it may make reference to symbolic info here and there, most
|
||||
of the target side will run with only a stripped executable
|
||||
available--or even no executable at all, in remote debugging cases.
|
||||
</P><P>
|
||||
|
||||
Operations such as disassembly, stack frame crawls, and register
|
||||
display, are able to work with no symbolic info at all. In some cases,
|
||||
such as disassembly, GDB will use symbolic info to present addresses
|
||||
relative to symbols rather than as raw numbers, but it will work either
|
||||
way.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC5"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC4"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 2.3 Configurations </H2>
|
||||
<!--docid::SEC5::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX1"></A>
|
||||
<A NAME="IDX2"></A>
|
||||
<EM>Host</EM> refers to attributes of the system where GDB runs.
|
||||
<EM>Target</EM> refers to the system where the program being debugged
|
||||
executes. In most cases they are the same machine, in which case a
|
||||
third type of <EM>Native</EM> attributes come into play.
|
||||
</P><P>
|
||||
|
||||
Defines and include files needed to build on the host are host support.
|
||||
Examples are tty support, system defined types, host byte order, host
|
||||
float format.
|
||||
</P><P>
|
||||
|
||||
Defines and information needed to handle the target format are target
|
||||
dependent. Examples are the stack frame format, instruction set,
|
||||
breakpoint instruction, registers, and how to set up and tear down the stack
|
||||
to call a function.
|
||||
</P><P>
|
||||
|
||||
Information that is only needed when the host and target are the same,
|
||||
is native dependent. One example is Unix child process support; if the
|
||||
host and target are not the same, doing a fork to start the target
|
||||
process is a bad idea. The various macros needed for finding the
|
||||
registers in the <CODE>upage</CODE>, running <CODE>ptrace</CODE>, and such are all
|
||||
in the native-dependent files.
|
||||
</P><P>
|
||||
|
||||
Another example of native-dependent code is support for features that
|
||||
are really part of the target environment, but which require
|
||||
<CODE>#include</CODE> files that are only available on the host system. Core
|
||||
file handling and <CODE>setjmp</CODE> handling are two common cases.
|
||||
</P><P>
|
||||
|
||||
When you want to make GDB work "native" on a particular machine, you
|
||||
have to include all three kinds of information.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Algorithms"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC2"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
286
Ref-docs/manual gdb/gdbint/gdbint_20.html
Normal file
286
Ref-docs/manual gdb/gdbint/gdbint_20.html
Normal file
@@ -0,0 +1,286 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Index: E -- H</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Index: E -- H">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Index: E -- H">
|
||||
<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="gdbint_20.html"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_21.html"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2 ALIGN="Left">Index: E -- H</H2>
|
||||
<table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><P></P>
|
||||
<TABLE border=0>
|
||||
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_E"></A>E</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX122">ECOFF debugging info</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC56">6.5.3 Mips debug (Third Eye)</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX114">ECOFF format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC47">6.4.3 ECOFF</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX343"><CODE>ECOFF_REG_TO_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX117">ELF format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC50">6.4.6 ELF</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX344"><CODE>END_OF_TEXT_DEFAULT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX132"><CODE>evaluate_subexp</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX131">expression evaluation routines</A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX129">expression parser</A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX273"><CODE>extract_address</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX345"><CODE>EXTRACT_RETURN_VALUE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX346"><CODE>EXTRACT_STRUCT_VALUE_ADDRESS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX347"><CODE>EXTRACT_STRUCT_VALUE_ADDRESS_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX269"><CODE>extract_typed_address</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_F"></A>F</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX170"><CODE>FCLOSE_PROVIDED</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX171"><CODE>FCLOSE_PROVIDED</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX470"><CODE>fetch_core_registers</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC96">11.1 Native core file Support</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX473"><CODE>FETCH_INFERIOR_REGISTERS</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX73">field output functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX513">file names, portability</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX517"><CODE>FILENAME_CMP</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX474"><CODE>FILES_INFO_HOOK</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX107"><CODE>find_pc_function</CODE></A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX108"><CODE>find_pc_line</CODE></A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX94"><CODE>find_sym_fns</CODE></A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX105">finding a symbol</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX247">fine-tuning <CODE>gdbarch</CODE> structure</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX328"><CODE>float</CODE> arguments</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX348"><CODE>FLOAT_INFO</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX172"><CODE>FOPEN_RB</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX173"><CODE>FOPEN_RB</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX475"><CODE>FP0_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX349"><CODE>FP_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX3">frame</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC7">3.1 Frames</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX8">frame chain</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC7">3.1 Frames</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX7">frame pointer register</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC7">3.1 Frames</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX351"><CODE>frame_align</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX352"><CODE>FRAME_ARGS_ADDRESS_CORRECT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX353"><CODE>FRAME_CHAIN</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX354"><CODE>FRAME_CHAIN_VALID</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX6"><CODE>FRAME_FP</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC7">3.1 Frames</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX355"><CODE>FRAME_INIT_SAVED_REGS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX356"><CODE>FRAME_NUM_ARGS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX357"><CODE>FRAME_SAVED_PC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX350"><CODE>FRAMELESS_FUNCTION_INVOCATION</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX99">full symbol table</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC121">function prototypes</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC121">13.4.7 Function Prototypes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX506">function usage</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC120">13.4.6 C Usage</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX358"><CODE>FUNCTION_EPILOGUE_SIZE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX359"><CODE>FUNCTION_START_OFFSET</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX110">fundamental types</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC41">Fundamental Types (e.g., <CODE>FT_VOID</CODE>, <CODE>FT_BOOLEAN</CODE>).</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_G"></A>G</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX360"><CODE>GCC2_COMPILED_FLAG_SYMBOL</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX361"><CODE>GCC_COMPILED_FLAG_SYMBOL</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX362"><CODE>GDB_MULTI_ARCH</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX267"><CODE>gdb_osabi</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX263"><CODE>GDB_OSABI_ARM_APCS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX261"><CODE>GDB_OSABI_ARM_EABI_V1</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX262"><CODE>GDB_OSABI_ARM_EABI_V2</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX254"><CODE>GDB_OSABI_FREEBSD_AOUT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX255"><CODE>GDB_OSABI_FREEBSD_ELF</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX259"><CODE>GDB_OSABI_GO32</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX250"><CODE>GDB_OSABI_HURD</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX253"><CODE>GDB_OSABI_LINUX</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX256"><CODE>GDB_OSABI_NETBSD_AOUT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX257"><CODE>GDB_OSABI_NETBSD_ELF</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX260"><CODE>GDB_OSABI_NETWARE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX252"><CODE>GDB_OSABI_OSF1</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX251"><CODE>GDB_OSABI_SOLARIS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX249"><CODE>GDB_OSABI_SVR4</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX248"><CODE>GDB_OSABI_UNKNOWN</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX258"><CODE>GDB_OSABI_WINCE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX363"><CODE>GDB_TARGET_IS_HPPA</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX499"><CODE>gdbarch_data</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">13.2 Per-architecture module data</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX372"><CODE>gdbarch_in_function_epilogue_p</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX268"><CODE>gdbarch_init_osabi</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX265"><CODE>gdbarch_register_osabi</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX266"><CODE>gdbarch_register_osabi_sniffer</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX148"><CODE>GDBINIT_FILENAME</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX149"><CODE>GDBINIT_FILENAME</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX220">generic dummy frames</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX144">generic host support</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC65">Generic Host Support Files</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX15"><CODE>GET_LONGJMP_TARGET</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC13">3.7 Longjmp Support</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX364"><CODE>GET_LONGJMP_TARGET</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX476"><CODE>GET_LONGJMP_TARGET</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX365"><CODE>GET_SAVED_REGISTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX366"><CODE>get_saved_register</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX174"><CODE>GETENV_PROVIDED</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX175"><CODE>GETENV_PROVIDED</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_H"></A>H</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX10">hardware breakpoints</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC8">3.2 Breakpoint Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX16">hardware watchpoints</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX33"><CODE>HAVE_CONTINUABLE_WATCHPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX514"><CODE>HAVE_DOS_BASED_FILE_SYSTEM</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX200"><CODE>HAVE_LONG_DOUBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX201"><CODE>HAVE_LONG_DOUBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX176"><CODE>HAVE_MMAP</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX177"><CODE>HAVE_MMAP</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX32"><CODE>HAVE_NONSTEPPABLE_WATCHPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX31"><CODE>HAVE_STEPPABLE_WATCHPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX179"><CODE>HAVE_TERMIO</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX180"><CODE>HAVE_TERMIO</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_2.html#IDX1">host</A></TD><TD valign=top><A HREF="gdbint_2.html#SEC5">2.3 Configurations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX143">host, adding</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC64">8.1 Adding a New Host</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
294
Ref-docs/manual gdb/gdbint/gdbint_21.html
Normal file
294
Ref-docs/manual gdb/gdbint/gdbint_21.html
Normal file
@@ -0,0 +1,294 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Index: I -- O</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Index: I -- O">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Index: I -- O">
|
||||
<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="gdbint_21.html"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_20.html"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_22.html"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2 ALIGN="Left">Index: I -- O</H2>
|
||||
<table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><P></P>
|
||||
<TABLE border=0>
|
||||
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_I"></A>I</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX48"><CODE>i386_cleanup_dregs</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX40"><CODE>I386_DR_LOW_GET_STATUS</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX39"><CODE>I386_DR_LOW_RESET_ADDR</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX38"><CODE>I386_DR_LOW_SET_ADDR</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX37"><CODE>I386_DR_LOW_SET_CONTROL</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX45"><CODE>i386_insert_hw_breakpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX43"><CODE>i386_insert_watchpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX41"><CODE>i386_region_ok_for_watchpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX46"><CODE>i386_remove_hw_breakpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX44"><CODE>i386_remove_watchpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX47"><CODE>i386_stopped_by_hwbp</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX42"><CODE>i386_stopped_data_address</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX36"><CODE>I386_USE_GENERIC_WATCHPOINTS</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX367"><CODE>IBM6000_TARGET</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX375"><CODE>IN_SOLIB_CALL_TRAMPOLINE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX377"><CODE>IN_SOLIB_DYNSYM_RESOLVE_CODE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX376"><CODE>IN_SOLIB_RETURN_TRAMPOLINE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX369"><CODE>INIT_EXTRA_FRAME_INFO</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX370"><CODE>INIT_FRAME_PC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX371"><CODE>INNER_THAN</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX26">insert or remove hardware breakpoint</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX181"><CODE>INT_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX182"><CODE>INT_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX183"><CODE>INT_MIN</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX184"><CODE>INT_MIN</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX379"><CODE>INTEGER_TO_ADDRESS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX516"><CODE>IS_ABSOLUTE_PATH</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX515"><CODE>IS_DIR_SEPARATOR</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX381"><CODE>IS_TRAPPED_INTERNALVAR</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX191"><CODE>ISATTY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX192"><CODE>ISATTY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX72">item output functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_K"></A>K</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX477"><CODE>KERNEL_U_ADDR</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX478"><CODE>KERNEL_U_ADDR_BSD</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX479"><CODE>KERNEL_U_ADDR_HPUX</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_L"></A>L</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX208"><CODE>L_SET</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX209"><CODE>L_SET</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX130">language parser</A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX127">language support</A></TD><TD valign=top><A HREF="gdbint_7.html#SEC61">7. Language Support</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_17.html#IDX527">legal papers for code contributions</A></TD><TD valign=top><A HREF="gdbint_17.html#SEC182">17.3 Submitting Patches</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX134"><CODE>length_of_subexp</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_5.html#SEC28"><CODE>libgdb</CODE></A></TD><TD valign=top><A HREF="gdbint_5.html#SEC28">5.1 libgdb 1.0</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_5.html#SEC29"><CODE>libgdb</CODE></A></TD><TD valign=top><A HREF="gdbint_5.html#SEC29">5.2 libgdb 2.0</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC113">line wrap in output</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC113">13.3 Wrapping Output Lines</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX242"><CODE>lint</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX243"><CODE>lint</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX58">list output functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX307"><CODE>LITTLE_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX310"><CODE>LITTLE_REMOTE_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX197"><CODE>long long</CODE> data type</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX185"><CODE>LONG_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX186"><CODE>LONG_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX193"><CODE>LONGEST</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX194"><CODE>LONGEST</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX14"><CODE>longjmp</CODE> debugging</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC13">3.7 Longjmp Support</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX109">lookup_symbol</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX206"><CODE>LSEEK_NOT_LINEAR</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX207"><CODE>LSEEK_NOT_LINEAR</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_M"></A>M</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX496"><CODE>make_cleanup</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC111">13.1 Cleanups</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_14.html#IDX521">making a distribution tarball</A></TD><TD valign=top><A HREF="gdbint_14.html#SEC127">14.1 Configuring GDB for Release</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_15.html#SEC129">making a new release of gdb</A></TD><TD valign=top><A HREF="gdbint_15.html#SEC129">15. Releasing GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">memory representation</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX314"><CODE>MEMORY_INSERT_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX313"><CODE>MEMORY_REMOVE_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX102">minimal symbol table</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX103">minsymtabs</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX223"><CODE>mmalloc</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX178"><CODE>mmap</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX210"><CODE>MMAP_BASE_ADDRESS</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX211"><CODE>MMAP_BASE_ADDRESS</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX212"><CODE>MMAP_INCREMENT</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX213"><CODE>MMAP_INCREMENT</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX226"><CODE>mmcheck</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX227"><CODE>MMCHECK_FORCE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX228"><CODE>MMCHECK_FORCE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">multi-arch data</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">13.2 Per-architecture module data</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_N"></A>N</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX464"><CODE>NAME_OF_MALLOC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX465"><CODE>NAME_OF_MALLOC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX466"><CODE>NAME_OF_MALLOC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX469"><CODE>NATDEPFILES</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC95">11. Native Debugging</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">native conditionals</A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#SEC96">native core files</A></TD><TD valign=top><A HREF="gdbint_11.html#SEC96">11.1 Native core file Support</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#SEC95">native debugging</A></TD><TD valign=top><A HREF="gdbint_11.html#SEC95">11. Native Debugging</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX382"><CODE>NEED_TEXT_START_END</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX61">nesting level in <CODE>ui_out</CODE> functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX119">Netware Loadable Module format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC52">6.4.8 Other File Formats</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX383"><CODE>NO_HIF_SUPPORT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX224"><CODE>NO_MMCHECK</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX225"><CODE>NO_MMCHECK</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX229"><CODE>NO_SIGINTERRUPT</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX230"><CODE>NO_SIGINTERRUPT</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX150"><CODE>NO_STD_REGS</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX151"><CODE>NO_STD_REGS</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX152"><CODE>NO_SYS_FILE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX153"><CODE>NO_SYS_FILE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX214"><CODE>NORETURN</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX215"><CODE>NORETURN</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX404"><CODE>NPC_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_O"></A>O</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#SEC44">object file formats</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC44">6.4 Object File Formats</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_17.html#SEC183">obsolete code</A></TD><TD valign=top><A HREF="gdbint_17.html#SEC183">17.4 Obsolete Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX480"><CODE>ONE_PROCESS_WRITETEXT</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX139"><CODE>op_print_tab</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_12.html#SEC104">opcodes library</A></TD><TD valign=top><A HREF="gdbint_12.html#SEC104">12.2 opcodes</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">OS ABI variants</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX459"><CODE>OS9K_VARIABLES_INSIDE_BLOCK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
331
Ref-docs/manual gdb/gdbint/gdbint_22.html
Normal file
331
Ref-docs/manual gdb/gdbint/gdbint_22.html
Normal file
@@ -0,0 +1,331 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Index: P -- S</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Index: P -- S">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Index: P -- S">
|
||||
<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="gdbint_22.html"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_21.html"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_23.html"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2 ALIGN="Left">Index: P -- S</H2>
|
||||
<table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><P></P>
|
||||
<TABLE border=0>
|
||||
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_P"></A>P</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX405"><CODE>PARM_BOUNDARY</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX140"><CODE>parse_exp_1</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX104">partial symbol table</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX330">passing arguments to prototyped functions</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX399"><CODE>PC_IN_CALL_DUMMY</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX400"><CODE>PC_IN_SIGTRAMP</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX402"><CODE>PC_LOAD_SEGMENT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX403"><CODE>PC_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX398"><CODE>PCC_SOL_BROKEN</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX116">PE-COFF format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC49">6.4.5 PE</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">per-architecture module data</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">13.2 Per-architecture module data</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">pointer representation</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX275"><CODE>POINTER_TO_ADDRESS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX384"><CODE>POINTER_TO_ADDRESS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX411"><CODE>POP_FRAME</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX510">portability</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX512">portable file name handling</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_14.html#SEC126">porting to new machines</A></TD><TD valign=top><A HREF="gdbint_14.html#SEC126">14. Porting GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX133"><CODE>prefixify_subexp</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX481"><CODE>PREPARE_TO_PROCEED</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_14.html#IDX520">preparing a release</A></TD><TD valign=top><A HREF="gdbint_14.html#SEC127">14.1 Configuring GDB for Release</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX338"><CODE>PRINT_FLOAT_INFO</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX406"><CODE>PRINT_REGISTER_HOOK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX339"><CODE>print_registers_info</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX138"><CODE>print_subexp</CODE></A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX407"><CODE>PRINT_TYPELESS_INTEGER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX340"><CODE>PRINT_VECTOR_INFO</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX202"><CODE>PRINTF_HAS_LONG_DOUBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX203"><CODE>PRINTF_HAS_LONG_DOUBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX198"><CODE>PRINTF_HAS_LONG_LONG</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX199"><CODE>PRINTF_HAS_LONG_LONG</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX482"><CODE>PROC_NAME_FMT</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX408"><CODE>PROCESS_LINENUMBER_HOOK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX11">program counter</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC8">3.2 Breakpoint Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX409"><CODE>PROLOGUE_FIRSTLINE_OVERLAP</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX327">promotion to <CODE>double</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX166">prompt</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX329">prototyped functions, passing arguments to</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX410"><CODE>PS_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX101">psymtabs</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX484"><CODE>PTRACE_ARG3_TYPE</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX483"><CODE>PTRACE_FP_BUG</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX414"><CODE>PUSH_ARGUMENTS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX415"><CODE>PUSH_DUMMY_FRAME</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">raw register representation</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX453"><CODE>read_fp</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX449"><CODE>read_pc</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX451"><CODE>read_sp</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX92">reading of symbols</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX419"><CODE>REG_STRUCT_HAS_ADDR</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">register data formats, converting</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">register representation</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX416"><CODE>REGISTER_BYTES</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX285"><CODE>REGISTER_CONVERT_TO_RAW</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX391"><CODE>REGISTER_CONVERT_TO_RAW</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX289"><CODE>REGISTER_CONVERT_TO_TYPE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX284"><CODE>REGISTER_CONVERT_TO_VIRTUAL</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX390"><CODE>REGISTER_CONVERT_TO_VIRTUAL</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX280"><CODE>REGISTER_CONVERTIBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX385"><CODE>REGISTER_CONVERTIBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX417"><CODE>REGISTER_NAME</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX418"><CODE>REGISTER_NAMES</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX281"><CODE>REGISTER_RAW_SIZE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX387"><CODE>REGISTER_RAW_SIZE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX287"><CODE>REGISTER_TO_VALUE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX386"><CODE>REGISTER_TO_VALUE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX485"><CODE>REGISTER_U_ADDR</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX282"><CODE>REGISTER_VIRTUAL_SIZE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX388"><CODE>REGISTER_VIRTUAL_SIZE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX389"><CODE>REGISTER_VIRTUAL_TYPE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_12.html#SEC108">regular expressions library</A></TD><TD valign=top><A HREF="gdbint_12.html#SEC108">12.6 gnu-regex</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX145">remote debugging support</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC65">Generic Host Support Files</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX462"><CODE>REMOTE_BPT_VECTOR</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX463"><CODE>REMOTE_BPT_VECTOR</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX311"><CODE>REMOTE_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">representations, raw and virtual registers</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">representations, register and memory</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_1.html#SEC1">requirements for GDB</A></TD><TD valign=top><A HREF="gdbint_1.html#SEC1">1. Requirements</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX413"><CODE>return_command</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX392"><CODE>RETURN_VALUE_ON_STACK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX393">returning structures by value</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_16.html#IDX522">running the test suite</A></TD><TD valign=top><A HREF="gdbint_16.html#SEC176">16.1 Using the Testsuite</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_S"></A>S</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX420"><CODE>SAVE_DUMMY_FRAME_TOS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX204"><CODE>SCANF_HAS_LONG_DOUBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX205"><CODE>SCANF_HAS_LONG_DOUBLE</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX421"><CODE>SDB_REG_TO_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX98">secondary symbol file</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX232"><CODE>SEEK_CUR</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX233"><CODE>SEEK_CUR</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX234"><CODE>SEEK_SET</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX235"><CODE>SEEK_SET</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">separate data and code address spaces</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX146">serial line support</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC65">Generic Host Support Files</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX501"><CODE>set_gdbarch_data</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC112">13.2 Per-architecture module data</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX486"><CODE>SHELL_COMMAND_CONCAT</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX487"><CODE>SHELL_FILE</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX231"><CODE>siginterrupt</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX401">sigtramp</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX374"><CODE>SIGTRAMP_END</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX373"><CODE>SIGTRAMP_START</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX154"><CODE>SIGWINCH_HANDLER</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX155"><CODE>SIGWINCH_HANDLER</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX156"><CODE>SIGWINCH_HANDLER_BODY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX157"><CODE>SIGWINCH_HANDLER_BODY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX317"><CODE>SIZEOF_CALL_DUMMY_WORDS</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX422"><CODE>SKIP_PERMANENT_BREAKPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX423"><CODE>SKIP_PROLOGUE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX378"><CODE>SKIP_SOLIB_RESOLVER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX424"><CODE>SKIP_TRAMPOLINE_CODE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX519"><CODE>SLASH_STRING</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX12">software breakpoints</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC8">3.2 Breakpoint Handling</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX17">software watchpoints</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX396"><CODE>SOFTWARE_SINGLE_STEP</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX395"><CODE>SOFTWARE_SINGLE_STEP_P</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX397"><CODE>SOFUN_ADDRESS_MAYBE_MISSING</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX488"><CODE>SOLIB_ADD</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX489"><CODE>SOLIB_CREATE_INFERIOR_HOOK</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX125">SOM debugging info</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC59">6.5.6 SOM</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX118">SOM format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC51">6.4.7 SOM</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX503">source code formatting</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC118">13.4.4 Formatting</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX425"><CODE>SP_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">spaces, separate data and code address</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX426"><CODE>STAB_REG_TO_REGNUM</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX120">stabs debugging info</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC54">6.5.1 stabs</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX160">stack alignment</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX427"><CODE>STACK_ALIGN</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX331"><CODE>standard_coerce_float_to_double</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX490"><CODE>START_INFERIOR_TRAPS_EXPECTED</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX428"><CODE>STEP_SKIPS_DELAY</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX236"><CODE>STOP_SIGNAL</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX237"><CODE>STOP_SIGNAL</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX35"><CODE>STOPPED_BY_WATCHPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX274"><CODE>store_address</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX429"><CODE>STORE_RETURN_VALUE</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX270"><CODE>store_typed_address</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC73"><CODE>struct value</CODE>, converting register contents to</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX394">structures, returning by value</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_17.html#IDX526">submitting patches</A></TD><TD valign=top><A HREF="gdbint_17.html#SEC182">17.3 Submitting Patches</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX430"><CODE>SUN_FIXED_LBRAC_BUG</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX491"><CODE>SVR4_SHARED_LIBS</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX96"><CODE>sym_fns</CODE> structure</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX93">symbol files</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX106">symbol lookup</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX91">symbol reading</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX431"><CODE>SYMBOL_RELOADING_DEFAULT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX368"><CODE>SYMBOLS_CAN_START_WITH_DOLLAR</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX100">symtabs</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX511">system dependencies</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
290
Ref-docs/manual gdb/gdbint/gdbint_23.html
Normal file
290
Ref-docs/manual gdb/gdbint/gdbint_23.html
Normal file
@@ -0,0 +1,290 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 26 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>GDB Internals: Index: T -- X</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Index: T -- X">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Index: T -- X">
|
||||
<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="gdbint_23.html"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_22.html"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ > ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2 ALIGN="Left">Index: T -- X</H2>
|
||||
<table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br><P></P>
|
||||
<TABLE border=0>
|
||||
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_T"></A>T</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX59">table output functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_2.html#IDX2">target</A></TD><TD valign=top><A HREF="gdbint_2.html#SEC5">2.3 Configurations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX246">target architecture definition</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC67">9. Target Architecture Definition</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_10.html#SEC88">target vector</A></TD><TD valign=top><A HREF="gdbint_10.html#SEC88">10. Target Vector Definition</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX19"><CODE>TARGET_CAN_USE_HARDWARE_WATCHPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX432"><CODE>TARGET_CHAR_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX433"><CODE>TARGET_CHAR_SIGNED</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX434"><CODE>TARGET_COMPLEX_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX22"><CODE>TARGET_DISABLE_HW_WATCHPOINTS</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX435"><CODE>TARGET_DOUBLE_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX436"><CODE>TARGET_DOUBLE_COMPLEX_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX23"><CODE>TARGET_ENABLE_HW_WATCHPOINTS</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX437"><CODE>TARGET_FLOAT_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX18"><CODE>TARGET_HAS_HARDWARE_WATCHPOINTS</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX28"><CODE>target_insert_hw_breakpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX24"><CODE>target_insert_watchpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX438"><CODE>TARGET_INT_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX439"><CODE>TARGET_LONG_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX440"><CODE>TARGET_LONG_DOUBLE_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX441"><CODE>TARGET_LONG_LONG_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX455"><CODE>TARGET_PRINT_INSN</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX442"><CODE>TARGET_PTR_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX448"><CODE>TARGET_READ_FP</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX444"><CODE>TARGET_READ_PC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX446"><CODE>TARGET_READ_SP</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX20"><CODE>TARGET_REGION_OK_FOR_HW_WATCHPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX21"><CODE>TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX27"><CODE>target_remove_hw_breakpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX25"><CODE>target_remove_watchpoint</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX443"><CODE>TARGET_SHORT_BIT</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#IDX29"><CODE>target_stopped_data_address</CODE></A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX454"><CODE>TARGET_VIRTUAL_FRAME_POINTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX445"><CODE>TARGET_WRITE_PC</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX447"><CODE>TARGET_WRITE_SP</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX147">TCP remote support</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC65">Generic Host Support Files</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX468"><CODE>TDEPFILES</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC78">9.11 Adding a New Target</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX169">terminal device</A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_16.html#SEC175">test suite</A></TD><TD valign=top><A HREF="gdbint_16.html#SEC175">16. Testsuite</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_16.html#IDX523">test suite organization</A></TD><TD valign=top><A HREF="gdbint_16.html#SEC177">16.2 Testsuite Organization</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_7.html#IDX141">trimming language-dependent code</A></TD><TD valign=top><A HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX60">tuple output functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX283"><CODE>type</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX111">type codes</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC42">Type Codes (e.g., <CODE>TYPE_CODE_PTR</CODE>, <CODE>TYPE_CODE_ARRAY</CODE>).</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX507">types</A></TD><TD valign=top><A HREF="gdbint_13.html#SEC120">13.4.6 C Usage</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_U"></A>U</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX493"><CODE>U_REGS_OFFSET</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX57"><CODE>ui_out</CODE> functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC18">4.2 UI-Independent Output--the <CODE>ui_out</CODE> Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX90"><CODE>ui_out</CODE> functions, usage examples</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC24">4.2.6 Examples of Use of <CODE>ui_out</CODE> functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX78"><CODE>ui_out_field_core_addr</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX75"><CODE>ui_out_field_fmt</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX77"><CODE>ui_out_field_fmt_int</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX76"><CODE>ui_out_field_int</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX83"><CODE>ui_out_field_skip</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC23">4.2.5 Utility Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX82"><CODE>ui_out_field_stream</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX79"><CODE>ui_out_field_string</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX88"><CODE>ui_out_flush</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC23">4.2.5 Utility Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX69"><CODE>ui_out_list_begin</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX70"><CODE>ui_out_list_end</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX86"><CODE>ui_out_message</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC23">4.2.5 Utility Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX85"><CODE>ui_out_spaces</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC23">4.2.5 Utility Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX81"><CODE>ui_out_stream_delete</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX62"><CODE>ui_out_table_begin</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX64"><CODE>ui_out_table_body</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX65"><CODE>ui_out_table_end</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX63"><CODE>ui_out_table_header</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX84"><CODE>ui_out_text</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC23">4.2.5 Utility Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX66"><CODE>ui_out_tuple_begin</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX67"><CODE>ui_out_tuple_end</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX87"><CODE>ui_out_wrap_hint</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC23">4.2.5 Utility Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX80"><CODE>ui_stream</CODE></A></TD><TD valign=top><A HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX187"><CODE>UINT_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX188"><CODE>UINT_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX189"><CODE>ULONG_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX190"><CODE>ULONG_MAX</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX218"><CODE>USE_GENERIC_DUMMY_FRAMES</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX219"><CODE>USE_GENERIC_DUMMY_FRAMES</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX221"><CODE>USE_MMALLOC</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX222"><CODE>USE_MMALLOC</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX238"><CODE>USE_O_NOCTTY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX239"><CODE>USE_O_NOCTTY</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_11.html#IDX492"><CODE>USE_PROC_FS</CODE></A></TD><TD valign=top><A HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX456"><CODE>USE_STRUCT_CONVENTION</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX240"><CODE>USG</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX241"><CODE>USG</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_4.html#IDX89">using <CODE>ui_out</CODE> functions</A></TD><TD valign=top><A HREF="gdbint_4.html#SEC24">4.2.6 Examples of Use of <CODE>ui_out</CODE> functions</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX271"><CODE>value_as_address</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX272"><CODE>value_from_pointer</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX288"><CODE>VALUE_TO_REGISTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX457"><CODE>VALUE_TO_REGISTER</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX458"><CODE>VARIABLES_INSIDE_BLOCK</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">virtual register representation</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX244"><CODE>volatile</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_8.html#IDX245"><CODE>volatile</CODE></A></TD><TD valign=top><A HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_W"></A>W</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">watchpoints</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">watchpoints, on x86</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">word-addressed machines</A></TD><TD valign=top><A HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_13.html#IDX502"><CODE>wrap_here</CODE></A></TD><TD valign=top><A HREF="gdbint_13.html#SEC113">13.3 Wrapping Output Lines</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX450"><CODE>write_pc</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_9.html#IDX452"><CODE>write_sp</CODE></A></TD><TD valign=top><A HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_16.html#SEC178">writing tests</A></TD><TD valign=top><A HREF="gdbint_16.html#SEC178">16.3 Writing Tests</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
<TR><TH><A NAME="cp_X"></A>X</TH><TD></TD><TD></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">x86 debug registers</A></TD><TD valign=top><A HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A></TD></TR>
|
||||
<TR><TD></TD><TD valign=top><A HREF="gdbint_6.html#IDX115">XCOFF format</A></TD><TD valign=top><A HREF="gdbint_6.html#SEC48">6.4.4 XCOFF</A></TD></TR>
|
||||
<TR><TD COLSPAN=3> <HR></TD></TR>
|
||||
</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="gdbint_19.html#cp_*" style="text-decoration:none"><b>*</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp__" style="text-decoration:none"><b>_</b></A>
|
||||
|
||||
<BR>
|
||||
<A HREF="gdbint_19.html#cp_A" style="text-decoration:none"><b>A</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_B" style="text-decoration:none"><b>B</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_C" style="text-decoration:none"><b>C</b></A>
|
||||
|
||||
<A HREF="gdbint_19.html#cp_D" style="text-decoration:none"><b>D</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_E" style="text-decoration:none"><b>E</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_F" style="text-decoration:none"><b>F</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_G" style="text-decoration:none"><b>G</b></A>
|
||||
|
||||
<A HREF="gdbint_20.html#cp_H" style="text-decoration:none"><b>H</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_I" style="text-decoration:none"><b>I</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_K" style="text-decoration:none"><b>K</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_L" style="text-decoration:none"><b>L</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_M" style="text-decoration:none"><b>M</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_N" style="text-decoration:none"><b>N</b></A>
|
||||
|
||||
<A HREF="gdbint_21.html#cp_O" style="text-decoration:none"><b>O</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_P" style="text-decoration:none"><b>P</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_R" style="text-decoration:none"><b>R</b></A>
|
||||
|
||||
<A HREF="gdbint_22.html#cp_S" style="text-decoration:none"><b>S</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_T" style="text-decoration:none"><b>T</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_U" style="text-decoration:none"><b>U</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_V" style="text-decoration:none"><b>V</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_W" style="text-decoration:none"><b>W</b></A>
|
||||
|
||||
<A HREF="gdbint_23.html#cp_X" style="text-decoration:none"><b>X</b></A>
|
||||
|
||||
</td></tr></table><br></P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 26 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
748
Ref-docs/manual gdb/gdbint/gdbint_3.html
Normal file
748
Ref-docs/manual gdb/gdbint/gdbint_3.html
Normal file
@@ -0,0 +1,748 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Algorithms</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Algorithms">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Algorithms">
|
||||
<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="SEC6"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_2.html#SEC5"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC7"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 3. Algorithms </H1>
|
||||
<!--docid::SEC6::-->
|
||||
<P>
|
||||
|
||||
GDB uses a number of debugging-specific algorithms. They are
|
||||
often not very complicated, but get lost in the thicket of special
|
||||
cases and real-world issues. This chapter describes the basic
|
||||
algorithms and mentions some of the specific target definitions that
|
||||
they use.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC7"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC8"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.1 Frames </H2>
|
||||
<!--docid::SEC7::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX3"></A>
|
||||
<A NAME="IDX4"></A>
|
||||
A frame is a construct that GDB uses to keep track of calling
|
||||
and called functions.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX5"></A>
|
||||
<A NAME="IDX6"></A>
|
||||
<CODE>FRAME_FP</CODE> in the machine description has no meaning to the
|
||||
machine-independent part of GDB, except that it is used when
|
||||
setting up a new frame from scratch, as follows:
|
||||
</P><P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>create_new_frame (read_register (FP_REGNUM), read_pc ()));
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
<A NAME="IDX7"></A>
|
||||
Other than that, all the meaning imparted to <CODE>FP_REGNUM</CODE> is
|
||||
imparted by the machine-dependent code. So, <CODE>FP_REGNUM</CODE> can have
|
||||
any value that is convenient for the code that creates new frames.
|
||||
(<CODE>create_new_frame</CODE> calls <CODE>INIT_EXTRA_FRAME_INFO</CODE> if it is
|
||||
defined; that is where you should use the <CODE>FP_REGNUM</CODE> value, if
|
||||
your frames are nonstandard.)
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX8"></A>
|
||||
Given a GDB frame, define <CODE>FRAME_CHAIN</CODE> to determine the
|
||||
address of the calling function's frame. This will be used to create
|
||||
a new GDB frame struct, and then <CODE>INIT_EXTRA_FRAME_INFO</CODE>
|
||||
and <CODE>INIT_FRAME_PC</CODE> will be called for the new frame.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC8"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC7"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC9"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC9"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.2 Breakpoint Handling </H2>
|
||||
<!--docid::SEC8::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX9"></A>
|
||||
In general, a breakpoint is a user-designated location in the program
|
||||
where the user wants to regain control if program execution ever reaches
|
||||
that location.
|
||||
</P><P>
|
||||
|
||||
There are two main ways to implement breakpoints; either as "hardware"
|
||||
breakpoints or as "software" breakpoints.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX10"></A>
|
||||
<A NAME="IDX11"></A>
|
||||
Hardware breakpoints are sometimes available as a builtin debugging
|
||||
features with some chips. Typically these work by having dedicated
|
||||
register into which the breakpoint address may be stored. If the PC
|
||||
(shorthand for <EM>program counter</EM>)
|
||||
ever matches a value in a breakpoint registers, the CPU raises an
|
||||
exception and reports it to GDB.
|
||||
</P><P>
|
||||
|
||||
Another possibility is when an emulator is in use; many emulators
|
||||
include circuitry that watches the address lines coming out from the
|
||||
processor, and force it to stop if the address matches a breakpoint's
|
||||
address.
|
||||
</P><P>
|
||||
|
||||
A third possibility is that the target already has the ability to do
|
||||
breakpoints somehow; for instance, a ROM monitor may do its own
|
||||
software breakpoints. So although these are not literally "hardware
|
||||
breakpoints", from GDB's point of view they work the same;
|
||||
GDB need not do nothing more than set the breakpoint and wait
|
||||
for something to happen.
|
||||
</P><P>
|
||||
|
||||
Since they depend on hardware resources, hardware breakpoints may be
|
||||
limited in number; when the user asks for more, GDB will
|
||||
start trying to set software breakpoints. (On some architectures,
|
||||
notably the 32-bit x86 platforms, GDB cannot always know
|
||||
whether there's enough hardware resources to insert all the hardware
|
||||
breakpoints and watchpoints. On those platforms, GDB prints
|
||||
an error message only when the program being debugged is continued.)
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX12"></A>
|
||||
Software breakpoints require GDB to do somewhat more work.
|
||||
The basic theory is that GDB will replace a program
|
||||
instruction with a trap, illegal divide, or some other instruction
|
||||
that will cause an exception, and then when it's encountered,
|
||||
GDB will take the exception and stop the program. When the
|
||||
user says to continue, GDB will restore the original
|
||||
instruction, single-step, re-insert the trap, and continue on.
|
||||
</P><P>
|
||||
|
||||
Since it literally overwrites the program being tested, the program area
|
||||
must be writable, so this technique won't work on programs in ROM. It
|
||||
can also distort the behavior of programs that examine themselves,
|
||||
although such a situation would be highly unusual.
|
||||
</P><P>
|
||||
|
||||
Also, the software breakpoint instruction should be the smallest size of
|
||||
instruction, so it doesn't overwrite an instruction that might be a jump
|
||||
target, and cause disaster when the program jumps into the middle of the
|
||||
breakpoint instruction. (Strictly speaking, the breakpoint must be no
|
||||
larger than the smallest interval between instructions that may be jump
|
||||
targets; perhaps there is an architecture where only even-numbered
|
||||
instructions may jumped to.) Note that it's possible for an instruction
|
||||
set not to have any instructions usable for a software breakpoint,
|
||||
although in practice only the ARC has failed to define such an
|
||||
instruction.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX13"></A>
|
||||
The basic definition of the software breakpoint is the macro
|
||||
<CODE>BREAKPOINT</CODE>.
|
||||
</P><P>
|
||||
|
||||
Basic breakpoint object handling is in <TT>`breakpoint.c'</TT>. However,
|
||||
much of the interesting breakpoint action is in <TT>`infrun.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC9"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC8"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC10"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC10"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.3 Single Stepping </H2>
|
||||
<!--docid::SEC9::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC10"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC9"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC11"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC11"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.4 Signal Handling </H2>
|
||||
<!--docid::SEC10::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC11"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC10"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC12"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC12"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.5 Thread Handling </H2>
|
||||
<!--docid::SEC11::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC12"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC11"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC13"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC13"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.6 Inferior Function Calls </H2>
|
||||
<!--docid::SEC12::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC13"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC12"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC14"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC14"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.7 Longjmp Support </H2>
|
||||
<!--docid::SEC13::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX14"></A>
|
||||
GDB has support for figuring out that the target is doing a
|
||||
<CODE>longjmp</CODE> and for stopping at the target of the jump, if we are
|
||||
stepping. This is done with a few specialized internal breakpoints,
|
||||
which are visible in the output of the <SAMP>`maint info breakpoint'</SAMP>
|
||||
command.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX15"></A>
|
||||
To make this work, you need to define a macro called
|
||||
<CODE>GET_LONGJMP_TARGET</CODE>, which will examine the <CODE>jmp_buf</CODE>
|
||||
structure and extract the longjmp target address. Since <CODE>jmp_buf</CODE>
|
||||
is target specific, you will need to define it in the appropriate
|
||||
<TT>`tm-<VAR>target</VAR>.h'</TT> file. Look in <TT>`tm-sun4os4.h'</TT> and
|
||||
<TT>`sparc-tdep.c'</TT> for examples of how to do this.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC14"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC13"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC15"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 3.8 Watchpoints </H2>
|
||||
<!--docid::SEC14::-->
|
||||
<P>
|
||||
|
||||
Watchpoints are a special kind of breakpoints (see section <A HREF="gdbint_3.html#SEC6">breakpoints</A>) which break when data is accessed rather than when some
|
||||
instruction is executed. When you have data which changes without
|
||||
your knowing what code does that, watchpoints are the silver bullet to
|
||||
hunt down and kill such bugs.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX16"></A>
|
||||
<A NAME="IDX17"></A>
|
||||
Watchpoints can be either hardware-assisted or not; the latter type is
|
||||
known as "software watchpoints." GDB always uses
|
||||
hardware-assisted watchpoints if they are available, and falls back on
|
||||
software watchpoints otherwise. Typical situations where GDB
|
||||
will use software watchpoints are:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
The watched memory region is too large for the underlying hardware
|
||||
watchpoint support. For example, each x86 debug register can watch up
|
||||
to 4 bytes of memory, so trying to watch data structures whose size is
|
||||
more than 16 bytes will cause GDB to use software
|
||||
watchpoints.
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
The value of the expression to be watched depends on data held in
|
||||
registers (as opposed to memory).
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
Too many different watchpoints requested. (On some architectures,
|
||||
this situation is impossible to detect until the debugged program is
|
||||
resumed.) Note that x86 debug registers are used both for hardware
|
||||
breakpoints and for watchpoints, so setting too many hardware
|
||||
breakpoints might cause watchpoint insertion to fail.
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
No hardware-assisted watchpoints provided by the target
|
||||
implementation.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
Software watchpoints are very slow, since GDB needs to
|
||||
single-step the program being debugged and test the value of the
|
||||
watched expression(s) after each instruction. The rest of this
|
||||
section is mostly irrelevant for software watchpoints.
|
||||
</P><P>
|
||||
|
||||
GDB uses several macros and primitives to support hardware
|
||||
watchpoints:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX18"></A>
|
||||
<DT><CODE>TARGET_HAS_HARDWARE_WATCHPOINTS</CODE>
|
||||
<DD>If defined, the target supports hardware watchpoints.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX19"></A>
|
||||
<DT><CODE>TARGET_CAN_USE_HARDWARE_WATCHPOINT (<VAR>type</VAR>, <VAR>count</VAR>, <VAR>other</VAR>)</CODE>
|
||||
<DD>Return the number of hardware watchpoints of type <VAR>type</VAR> that are
|
||||
possible to be set. The value is positive if <VAR>count</VAR> watchpoints
|
||||
of this type can be set, zero if setting watchpoints of this type is
|
||||
not supported, and negative if <VAR>count</VAR> is more than the maximum
|
||||
number of watchpoints of type <VAR>type</VAR> that can be set. <VAR>other</VAR>
|
||||
is non-zero if other types of watchpoints are currently enabled (there
|
||||
are architectures which cannot set watchpoints of different types at
|
||||
the same time).
|
||||
<P>
|
||||
|
||||
<A NAME="IDX20"></A>
|
||||
<DT><CODE>TARGET_REGION_OK_FOR_HW_WATCHPOINT (<VAR>addr</VAR>, <VAR>len</VAR>)</CODE>
|
||||
<DD>Return non-zero if hardware watchpoints can be used to watch a region
|
||||
whose address is <VAR>addr</VAR> and whose length in bytes is <VAR>len</VAR>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX21"></A>
|
||||
<DT><CODE>TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT (<VAR>size</VAR>)</CODE>
|
||||
<DD>Return non-zero if hardware watchpoints can be used to watch a region
|
||||
whose size is <VAR>size</VAR>. GDB only uses this macro as a
|
||||
fall-back, in case <CODE>TARGET_REGION_OK_FOR_HW_WATCHPOINT</CODE> is not
|
||||
defined.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX22"></A>
|
||||
<DT><CODE>TARGET_DISABLE_HW_WATCHPOINTS (<VAR>pid</VAR>)</CODE>
|
||||
<DD>Disables watchpoints in the process identified by <VAR>pid</VAR>. This is
|
||||
used, e.g., on HP-UX which provides operations to disable and enable
|
||||
the page-level memory protection that implements hardware watchpoints
|
||||
on that platform.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX23"></A>
|
||||
<DT><CODE>TARGET_ENABLE_HW_WATCHPOINTS (<VAR>pid</VAR>)</CODE>
|
||||
<DD>Enables watchpoints in the process identified by <VAR>pid</VAR>. This is
|
||||
used, e.g., on HP-UX which provides operations to disable and enable
|
||||
the page-level memory protection that implements hardware watchpoints
|
||||
on that platform.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX24"></A>
|
||||
<A NAME="IDX25"></A>
|
||||
<DT><CODE>target_insert_watchpoint (<VAR>addr</VAR>, <VAR>len</VAR>, <VAR>type</VAR>)</CODE>
|
||||
<DD><DT><CODE>target_remove_watchpoint (<VAR>addr</VAR>, <VAR>len</VAR>, <VAR>type</VAR>)</CODE>
|
||||
<DD>Insert or remove a hardware watchpoint starting at <VAR>addr</VAR>, for
|
||||
<VAR>len</VAR> bytes. <VAR>type</VAR> is the watchpoint type, one of the
|
||||
possible values of the enumerated data type <CODE>target_hw_bp_type</CODE>,
|
||||
defined by <TT>`breakpoint.h'</TT> as follows:
|
||||
<P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre> enum target_hw_bp_type
|
||||
{
|
||||
hw_write = 0, /* Common (write) HW watchpoint */
|
||||
hw_read = 1, /* Read HW watchpoint */
|
||||
hw_access = 2, /* Access (read or write) HW watchpoint */
|
||||
hw_execute = 3 /* Execute HW breakpoint */
|
||||
};
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
These two macros should return 0 for success, non-zero for failure.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX26"></A>
|
||||
<A NAME="IDX27"></A>
|
||||
<A NAME="IDX28"></A>
|
||||
<DT><CODE>target_remove_hw_breakpoint (<VAR>addr</VAR>, <VAR>shadow</VAR>)</CODE>
|
||||
<DD><DT><CODE>target_insert_hw_breakpoint (<VAR>addr</VAR>, <VAR>shadow</VAR>)</CODE>
|
||||
<DD>Insert or remove a hardware-assisted breakpoint at address <VAR>addr</VAR>.
|
||||
Returns zero for success, non-zero for failure. <VAR>shadow</VAR> is the
|
||||
real contents of the byte where the breakpoint has been inserted; it
|
||||
is generally not valid when hardware breakpoints are used, but since
|
||||
no other code touches these values, the implementations of the above
|
||||
two macros can use them for their internal purposes.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX29"></A>
|
||||
<DT><CODE>target_stopped_data_address ()</CODE>
|
||||
<DD>If the inferior has some watchpoint that triggered, return the address
|
||||
associated with that watchpoint. Otherwise, return zero.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX30"></A>
|
||||
<DT><CODE>DECR_PC_AFTER_HW_BREAK</CODE>
|
||||
<DD>If defined, GDB decrements the program counter by the value
|
||||
of <CODE>DECR_PC_AFTER_HW_BREAK</CODE> after a hardware break-point. This
|
||||
overrides the value of <CODE>DECR_PC_AFTER_BREAK</CODE> when a breakpoint
|
||||
that breaks is a hardware-assisted breakpoint.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX31"></A>
|
||||
<DT><CODE>HAVE_STEPPABLE_WATCHPOINT</CODE>
|
||||
<DD>If defined to a non-zero value, it is not necessary to disable a
|
||||
watchpoint to step over it.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX32"></A>
|
||||
<DT><CODE>HAVE_NONSTEPPABLE_WATCHPOINT</CODE>
|
||||
<DD>If defined to a non-zero value, GDB should disable a
|
||||
watchpoint to step the inferior over it.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX33"></A>
|
||||
<DT><CODE>HAVE_CONTINUABLE_WATCHPOINT</CODE>
|
||||
<DD>If defined to a non-zero value, it is possible to continue the
|
||||
inferior after a watchpoint has been hit.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX34"></A>
|
||||
<DT><CODE>CANNOT_STEP_HW_WATCHPOINTS</CODE>
|
||||
<DD>If this is defined to a non-zero value, GDB will remove all
|
||||
watchpoints before stepping the inferior.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX35"></A>
|
||||
<DT><CODE>STOPPED_BY_WATCHPOINT (<VAR>wait_status</VAR>)</CODE>
|
||||
<DD>Return non-zero if stopped by a watchpoint. <VAR>wait_status</VAR> is of
|
||||
the type <CODE>struct target_waitstatus</CODE>, defined by <TT>`target.h'</TT>.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC15"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC14"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC14"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 3.8.1 x86 Watchpoints </H3>
|
||||
<!--docid::SEC15::-->
|
||||
<P>
|
||||
|
||||
The 32-bit Intel x86 (a.k.a. ia32) processors feature special debug
|
||||
registers designed to facilitate debugging. GDB provides a
|
||||
generic library of functions that x86-based ports can use to implement
|
||||
support for watchpoints and hardware-assisted breakpoints. This
|
||||
subsection documents the x86 watchpoint facilities in GDB.
|
||||
</P><P>
|
||||
|
||||
To use the generic x86 watchpoint support, a port should do the
|
||||
following:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<A NAME="IDX36"></A>
|
||||
<LI>
|
||||
Define the macro <CODE>I386_USE_GENERIC_WATCHPOINTS</CODE> somewhere in the
|
||||
target-dependent headers.
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
Include the <TT>`config/i386/nm-i386.h'</TT> header file <EM>after</EM>
|
||||
defining <CODE>I386_USE_GENERIC_WATCHPOINTS</CODE>.
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
Add <TT>`i386-nat.o'</TT> to the value of the Make variable
|
||||
<CODE>NATDEPFILES</CODE> (see section <A HREF="gdbint_11.html#SEC95">NATDEPFILES</A>) or
|
||||
<CODE>TDEPFILES</CODE> (see section <A HREF="gdbint_9.html#SEC67">TDEPFILES</A>).
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
Provide implementations for the <CODE>I386_DR_LOW_*</CODE> macros described
|
||||
below. Typically, each macro should call a target-specific function
|
||||
which does the real work.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
The x86 watchpoint support works by maintaining mirror images of the
|
||||
debug registers. Values are copied between the mirror images and the
|
||||
real debug registers via a set of macros which each target needs to
|
||||
provide:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX37"></A>
|
||||
<DT><CODE>I386_DR_LOW_SET_CONTROL (<VAR>val</VAR>)</CODE>
|
||||
<DD>Set the Debug Control (DR7) register to the value <VAR>val</VAR>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX38"></A>
|
||||
<DT><CODE>I386_DR_LOW_SET_ADDR (<VAR>idx</VAR>, <VAR>addr</VAR>)</CODE>
|
||||
<DD>Put the address <VAR>addr</VAR> into the debug register number <VAR>idx</VAR>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX39"></A>
|
||||
<DT><CODE>I386_DR_LOW_RESET_ADDR (<VAR>idx</VAR>)</CODE>
|
||||
<DD>Reset (i.e. zero out) the address stored in the debug register
|
||||
number <VAR>idx</VAR>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX40"></A>
|
||||
<DT><CODE>I386_DR_LOW_GET_STATUS</CODE>
|
||||
<DD>Return the value of the Debug Status (DR6) register. This value is
|
||||
used immediately after it is returned by
|
||||
<CODE>I386_DR_LOW_GET_STATUS</CODE>, so as to support per-thread status
|
||||
register values.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
For each one of the 4 debug registers (whose indices are from 0 to 3)
|
||||
that store addresses, a reference count is maintained by GDB,
|
||||
to allow sharing of debug registers by several watchpoints. This
|
||||
allows users to define several watchpoints that watch the same
|
||||
expression, but with different conditions and/or commands, without
|
||||
wasting debug registers which are in short supply. GDB
|
||||
maintains the reference counts internally, targets don't have to do
|
||||
anything to use this feature.
|
||||
</P><P>
|
||||
|
||||
The x86 debug registers can each watch a region that is 1, 2, or 4
|
||||
bytes long. The ia32 architecture requires that each watched region
|
||||
be appropriately aligned: 2-byte region on 2-byte boundary, 4-byte
|
||||
region on 4-byte boundary. However, the x86 watchpoint support in
|
||||
GDB can watch unaligned regions and regions larger than 4
|
||||
bytes (up to 16 bytes) by allocating several debug registers to watch
|
||||
a single region. This allocation of several registers per a watched
|
||||
region is also done automatically without target code intervention.
|
||||
</P><P>
|
||||
|
||||
The generic x86 watchpoint support provides the following API for the
|
||||
GDB's application code:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX41"></A>
|
||||
<DT><CODE>i386_region_ok_for_watchpoint (<VAR>addr</VAR>, <VAR>len</VAR>)</CODE>
|
||||
<DD>The macro <CODE>TARGET_REGION_OK_FOR_HW_WATCHPOINT</CODE> is set to call
|
||||
this function. It counts the number of debug registers required to
|
||||
watch a given region, and returns a non-zero value if that number is
|
||||
less than 4, the number of debug registers available to x86
|
||||
processors.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX42"></A>
|
||||
<DT><CODE>i386_stopped_data_address (void)</CODE>
|
||||
<DD>The macros <CODE>STOPPED_BY_WATCHPOINT</CODE> and
|
||||
<CODE>target_stopped_data_address</CODE> are set to call this function. The
|
||||
argument passed to <CODE>STOPPED_BY_WATCHPOINT</CODE> is ignored. This
|
||||
function examines the breakpoint condition bits in the DR6 Debug
|
||||
Status register, as returned by the <CODE>I386_DR_LOW_GET_STATUS</CODE>
|
||||
macro, and returns the address associated with the first bit that is
|
||||
set in DR6.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX43"></A>
|
||||
<A NAME="IDX44"></A>
|
||||
<DT><CODE>i386_insert_watchpoint (<VAR>addr</VAR>, <VAR>len</VAR>, <VAR>type</VAR>)</CODE>
|
||||
<DD><DT><CODE>i386_remove_watchpoint (<VAR>addr</VAR>, <VAR>len</VAR>, <VAR>type</VAR>)</CODE>
|
||||
<DD>Insert or remove a watchpoint. The macros
|
||||
<CODE>target_insert_watchpoint</CODE> and <CODE>target_remove_watchpoint</CODE>
|
||||
are set to call these functions. <CODE>i386_insert_watchpoint</CODE> first
|
||||
looks for a debug register which is already set to watch the same
|
||||
region for the same access types; if found, it just increments the
|
||||
reference count of that debug register, thus implementing debug
|
||||
register sharing between watchpoints. If no such register is found,
|
||||
the function looks for a vacant debug register, sets its mirrored
|
||||
value to <VAR>addr</VAR>, sets the mirrored value of DR7 Debug Control
|
||||
register as appropriate for the <VAR>len</VAR> and <VAR>type</VAR> parameters,
|
||||
and then passes the new values of the debug register and DR7 to the
|
||||
inferior by calling <CODE>I386_DR_LOW_SET_ADDR</CODE> and
|
||||
<CODE>I386_DR_LOW_SET_CONTROL</CODE>. If more than one debug register is
|
||||
required to cover the given region, the above process is repeated for
|
||||
each debug register.
|
||||
<P>
|
||||
|
||||
<CODE>i386_remove_watchpoint</CODE> does the opposite: it resets the address
|
||||
in the mirrored value of the debug register and its read/write and
|
||||
length bits in the mirrored value of DR7, then passes these new
|
||||
values to the inferior via <CODE>I386_DR_LOW_RESET_ADDR</CODE> and
|
||||
<CODE>I386_DR_LOW_SET_CONTROL</CODE>. If a register is shared by several
|
||||
watchpoints, each time a <CODE>i386_remove_watchpoint</CODE> is called, it
|
||||
decrements the reference count, and only calls
|
||||
<CODE>I386_DR_LOW_RESET_ADDR</CODE> and <CODE>I386_DR_LOW_SET_CONTROL</CODE> when
|
||||
the count goes to zero.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX45"></A>
|
||||
<A NAME="IDX46"></A>
|
||||
<DT><CODE>i386_insert_hw_breakpoint (<VAR>addr</VAR>, <VAR>shadow</VAR></CODE>
|
||||
<DD><DT><CODE>i386_remove_hw_breakpoint (<VAR>addr</VAR>, <VAR>shadow</VAR>)</CODE>
|
||||
<DD>These functions insert and remove hardware-assisted breakpoints. The
|
||||
macros <CODE>target_insert_hw_breakpoint</CODE> and
|
||||
<CODE>target_remove_hw_breakpoint</CODE> are set to call these functions.
|
||||
These functions work like <CODE>i386_insert_watchpoint</CODE> and
|
||||
<CODE>i386_remove_watchpoint</CODE>, respectively, except that they set up
|
||||
the debug registers to watch instruction execution, and each
|
||||
hardware-assisted breakpoint always requires exactly one debug
|
||||
register.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX47"></A>
|
||||
<DT><CODE>i386_stopped_by_hwbp (void)</CODE>
|
||||
<DD>This function returns non-zero if the inferior has some watchpoint or
|
||||
hardware breakpoint that triggered. It works like
|
||||
<CODE>i386_stopped_data_address</CODE>, except that it doesn't return the
|
||||
address whose watchpoint triggered.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX48"></A>
|
||||
<DT><CODE>i386_cleanup_dregs (void)</CODE>
|
||||
<DD>This function clears all the reference counts, addresses, and control
|
||||
bits in the mirror images of the debug registers. It doesn't affect
|
||||
the actual debug registers in the inferior process.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<STRONG>Notes:</STRONG>
|
||||
<OL>
|
||||
<LI>
|
||||
x86 processors support setting watchpoints on I/O reads or writes.
|
||||
However, since no target supports this (as of March 2001), and since
|
||||
<CODE>enum target_hw_bp_type</CODE> doesn't even have an enumeration for I/O
|
||||
watchpoints, this feature is not yet available to GDB running
|
||||
on x86.
|
||||
<P>
|
||||
|
||||
<LI>
|
||||
x86 processors can enable watchpoints locally, for the current task
|
||||
only, or globally, for all the tasks. For each debug register,
|
||||
there's a bit in the DR7 Debug Control register that determines
|
||||
whether the associated address is watched locally or globally. The
|
||||
current implementation of x86 watchpoint support in GDB
|
||||
always sets watchpoints to be locally enabled, since global
|
||||
watchpoints might interfere with the underlying OS and are probably
|
||||
unavailable in many platforms.
|
||||
</OL>
|
||||
<P>
|
||||
|
||||
<A NAME="User Interface"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_3.html#SEC6"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC16"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
1011
Ref-docs/manual gdb/gdbint/gdbint_4.html
Normal file
1011
Ref-docs/manual gdb/gdbint/gdbint_4.html
Normal file
File diff suppressed because it is too large
Load Diff
287
Ref-docs/manual gdb/gdbint/gdbint_5.html
Normal file
287
Ref-docs/manual gdb/gdbint/gdbint_5.html
Normal file
@@ -0,0 +1,287 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: libgdb</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: libgdb">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: libgdb">
|
||||
<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="SEC27"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_4.html#SEC26"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC28"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 5. libgdb </H1>
|
||||
<!--docid::SEC27::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC28"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC29"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 5.1 libgdb 1.0 </H2>
|
||||
<!--docid::SEC28::-->
|
||||
<CODE>libgdb</CODE> 1.0 was an abortive project of years ago. The theory was
|
||||
to provide an API to GDB's functionality.
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC29"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC28"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC30"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC30"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 5.2 libgdb 2.0 </H2>
|
||||
<!--docid::SEC29::-->
|
||||
<CODE>libgdb</CODE> 2.0 is an ongoing effort to update GDB so that is
|
||||
better able to support graphical and other environments.
|
||||
<P>
|
||||
|
||||
Since <CODE>libgdb</CODE> development is on-going, its architecture is still
|
||||
evolving. The following components have so far been identified:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
Observer - <TT>`gdb-events.h'</TT>.
|
||||
<LI>
|
||||
Builder - <TT>`ui-out.h'</TT>
|
||||
<LI>
|
||||
Event Loop - <TT>`event-loop.h'</TT>
|
||||
<LI>
|
||||
Library - <TT>`gdb.h'</TT>
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
The model that ties these components together is described below.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC30"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC29"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC31"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC31"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 5.3 The <CODE>libgdb</CODE> Model </H2>
|
||||
<!--docid::SEC30::-->
|
||||
<P>
|
||||
|
||||
A client of <CODE>libgdb</CODE> interacts with the library in two ways.
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
As an observer (using <TT>`gdb-events'</TT>) receiving notifications from
|
||||
<CODE>libgdb</CODE> of any internal state changes (break point changes, run
|
||||
state, etc).
|
||||
<LI>
|
||||
As a client querying <CODE>libgdb</CODE> (using the <TT>`ui-out'</TT> builder) to
|
||||
obtain various status values from GDB.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
Since <CODE>libgdb</CODE> could have multiple clients (e.g. a GUI supporting
|
||||
the existing GDB CLI), those clients must co-operate when
|
||||
controlling <CODE>libgdb</CODE>. In particular, a client must ensure that
|
||||
<CODE>libgdb</CODE> is idle (i.e. no other client is using <CODE>libgdb</CODE>)
|
||||
before responding to a <TT>`gdb-event'</TT> by making a query.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC31"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC30"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC32"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC32"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 5.4 CLI support </H2>
|
||||
<!--docid::SEC31::-->
|
||||
<P>
|
||||
|
||||
At present GDB's CLI is very much entangled in with the core of
|
||||
<CODE>libgdb</CODE>. Consequently, a client wishing to include the CLI in
|
||||
their interface needs to carefully co-ordinate its own and the CLI's
|
||||
requirements.
|
||||
</P><P>
|
||||
|
||||
It is suggested that the client set <CODE>libgdb</CODE> up to be bi-modal
|
||||
(alternate between CLI and client query modes). The notes below sketch
|
||||
out the theory:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<LI>
|
||||
The client registers itself as an observer of <CODE>libgdb</CODE>.
|
||||
<LI>
|
||||
The client create and install <CODE>cli-out</CODE> builder using its own
|
||||
versions of the <CODE>ui-file</CODE> <CODE>gdb_stderr</CODE>, <CODE>gdb_stdtarg</CODE> and
|
||||
<CODE>gdb_stdout</CODE> streams.
|
||||
<LI>
|
||||
The client creates a separate custom <CODE>ui-out</CODE> builder that is only
|
||||
used while making direct queries to <CODE>libgdb</CODE>.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
When the client receives input intended for the CLI, it simply passes it
|
||||
along. Since the <CODE>cli-out</CODE> builder is installed by default, all
|
||||
the CLI output in response to that command is routed (pronounced rooted)
|
||||
through to the client controlled <CODE>gdb_stdout</CODE> et. al. streams.
|
||||
At the same time, the client is kept abreast of internal changes by
|
||||
virtue of being a <CODE>libgdb</CODE> observer.
|
||||
</P><P>
|
||||
|
||||
The only restriction on the client is that it must wait until
|
||||
<CODE>libgdb</CODE> becomes idle before initiating any queries (using the
|
||||
client's custom builder).
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC32"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC31"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 5.5 <CODE>libgdb</CODE> components </H2>
|
||||
<!--docid::SEC32::-->
|
||||
<P>
|
||||
|
||||
<A NAME="SEC33"></A>
|
||||
<H3> Observer - <TT>`gdb-events.h'</TT> </H3>
|
||||
<!--docid::SEC33::-->
|
||||
<TT>`gdb-events'</TT> provides the client with a very raw mechanism that can
|
||||
be used to implement an observer. At present it only allows for one
|
||||
observer and that observer must, internally, handle the need to delay
|
||||
the processing of any event notifications until after <CODE>libgdb</CODE> has
|
||||
finished the current command.
|
||||
<P>
|
||||
|
||||
<A NAME="SEC34"></A>
|
||||
<H3> Builder - <TT>`ui-out.h'</TT> </H3>
|
||||
<!--docid::SEC34::-->
|
||||
<TT>`ui-out'</TT> provides the infrastructure necessary for a client to
|
||||
create a builder. That builder is then passed down to <CODE>libgdb</CODE>
|
||||
when doing any queries.
|
||||
<P>
|
||||
|
||||
<A NAME="SEC35"></A>
|
||||
<H3> Event Loop - <TT>`event-loop.h'</TT> </H3>
|
||||
<!--docid::SEC35::-->
|
||||
<TT>`event-loop'</TT>, currently non-re-entrant, provides a simple event
|
||||
loop. A client would need to either plug its self into this loop or,
|
||||
implement a new event-loop that GDB would use.
|
||||
<P>
|
||||
|
||||
The event-loop will eventually be made re-entrant. This is so that
|
||||
can better handle the problem of some commands blocking
|
||||
instead of returning.
|
||||
</P><P>
|
||||
|
||||
<A NAME="SEC36"></A>
|
||||
<H3> Library - <TT>`gdb.h'</TT> </H3>
|
||||
<!--docid::SEC36::-->
|
||||
<TT>`libgdb'</TT> is the most obvious component of this system. It provides
|
||||
the query interface. Each function is parameterized by a <CODE>ui-out</CODE>
|
||||
builder. The result of the query is constructed using that builder
|
||||
before the query function returns.
|
||||
<P>
|
||||
|
||||
<A NAME="Symbol Handling"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC27"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
874
Ref-docs/manual gdb/gdbint/gdbint_6.html
Normal file
874
Ref-docs/manual gdb/gdbint/gdbint_6.html
Normal file
@@ -0,0 +1,874 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Symbol Handling</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Symbol Handling">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Symbol Handling">
|
||||
<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="SEC37"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_5.html#SEC32"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC38"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 6. Symbol Handling </H1>
|
||||
<!--docid::SEC37::-->
|
||||
<P>
|
||||
|
||||
Symbols are a key part of GDB's operation. Symbols include variables,
|
||||
functions, and types.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC38"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC39"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 6.1 Symbol Reading </H2>
|
||||
<!--docid::SEC38::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX91"></A>
|
||||
<A NAME="IDX92"></A>
|
||||
<A NAME="IDX93"></A>
|
||||
GDB reads symbols from <EM>symbol files</EM>. The usual symbol
|
||||
file is the file containing the program which GDB is
|
||||
debugging. GDB can be directed to use a different file for
|
||||
symbols (with the <SAMP>`symbol-file'</SAMP> command), and it can also read
|
||||
more symbols via the <SAMP>`add-file'</SAMP> and <SAMP>`load'</SAMP> commands, or while
|
||||
reading symbols from shared libraries.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX94"></A>
|
||||
Symbol files are initially opened by code in <TT>`symfile.c'</TT> using
|
||||
the BFD library (see section <A HREF="gdbint_12.html#SEC102">12. Support Libraries</A>). BFD identifies the type
|
||||
of the file by examining its header. <CODE>find_sym_fns</CODE> then uses
|
||||
this identification to locate a set of symbol-reading functions.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX95"></A>
|
||||
<A NAME="IDX96"></A>
|
||||
<A NAME="IDX97"></A>
|
||||
Symbol-reading modules identify themselves to GDB by calling
|
||||
<CODE>add_symtab_fns</CODE> during their module initialization. The argument
|
||||
to <CODE>add_symtab_fns</CODE> is a <CODE>struct sym_fns</CODE> which contains the
|
||||
name (or name prefix) of the symbol format, the length of the prefix,
|
||||
and pointers to four functions. These functions are called at various
|
||||
times to process symbol files whose identification matches the specified
|
||||
prefix.
|
||||
</P><P>
|
||||
|
||||
The functions supplied by each module are:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><CODE><VAR>xyz</VAR>_symfile_init(struct sym_fns *sf)</CODE>
|
||||
<DD><P>
|
||||
|
||||
<A NAME="IDX98"></A>
|
||||
Called from <CODE>symbol_file_add</CODE> when we are about to read a new
|
||||
symbol file. This function should clean up any internal state (possibly
|
||||
resulting from half-read previous files, for example) and prepare to
|
||||
read a new symbol file. Note that the symbol file which we are reading
|
||||
might be a new "main" symbol file, or might be a secondary symbol file
|
||||
whose symbols are being added to the existing symbol table.
|
||||
</P><P>
|
||||
|
||||
The argument to <CODE><VAR>xyz</VAR>_symfile_init</CODE> is a newly allocated
|
||||
<CODE>struct sym_fns</CODE> whose <CODE>bfd</CODE> field contains the BFD for the
|
||||
new symbol file being read. Its <CODE>private</CODE> field has been zeroed,
|
||||
and can be modified as desired. Typically, a struct of private
|
||||
information will be <CODE>malloc</CODE>'d, and a pointer to it will be placed
|
||||
in the <CODE>private</CODE> field.
|
||||
</P><P>
|
||||
|
||||
There is no result from <CODE><VAR>xyz</VAR>_symfile_init</CODE>, but it can call
|
||||
<CODE>error</CODE> if it detects an unavoidable problem.
|
||||
</P><P>
|
||||
|
||||
<DT><CODE><VAR>xyz</VAR>_new_init()</CODE>
|
||||
<DD><P>
|
||||
|
||||
Called from <CODE>symbol_file_add</CODE> when discarding existing symbols.
|
||||
This function needs only handle the symbol-reading module's internal
|
||||
state; the symbol table data structures visible to the rest of
|
||||
GDB will be discarded by <CODE>symbol_file_add</CODE>. It has no
|
||||
arguments and no result. It may be called after
|
||||
<CODE><VAR>xyz</VAR>_symfile_init</CODE>, if a new symbol table is being read, or
|
||||
may be called alone if all symbols are simply being discarded.
|
||||
</P><P>
|
||||
|
||||
<DT><CODE><VAR>xyz</VAR>_symfile_read(struct sym_fns *sf, CORE_ADDR addr, int mainline)</CODE>
|
||||
<DD><P>
|
||||
|
||||
Called from <CODE>symbol_file_add</CODE> to actually read the symbols from a
|
||||
symbol-file into a set of psymtabs or symtabs.
|
||||
</P><P>
|
||||
|
||||
<CODE>sf</CODE> points to the <CODE>struct sym_fns</CODE> originally passed to
|
||||
<CODE><VAR>xyz</VAR>_sym_init</CODE> for possible initialization. <CODE>addr</CODE> is
|
||||
the offset between the file's specified start address and its true
|
||||
address in memory. <CODE>mainline</CODE> is 1 if this is the main symbol
|
||||
table being read, and 0 if a secondary symbol file (e.g. shared library
|
||||
or dynamically loaded file) is being read.</DL>
|
||||
<P>
|
||||
|
||||
In addition, if a symbol-reading module creates psymtabs when
|
||||
<VAR>xyz</VAR>_symfile_read is called, these psymtabs will contain a pointer
|
||||
to a function <CODE><VAR>xyz</VAR>_psymtab_to_symtab</CODE>, which can be called
|
||||
from any point in the GDB symbol-handling code.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><CODE><VAR>xyz</VAR>_psymtab_to_symtab (struct partial_symtab *pst)</CODE>
|
||||
<DD><P>
|
||||
|
||||
Called from <CODE>psymtab_to_symtab</CODE> (or the <CODE>PSYMTAB_TO_SYMTAB</CODE> macro) if
|
||||
the psymtab has not already been read in and had its <CODE>pst->symtab</CODE>
|
||||
pointer set. The argument is the psymtab to be fleshed-out into a
|
||||
symtab. Upon return, <CODE>pst->readin</CODE> should have been set to 1, and
|
||||
<CODE>pst->symtab</CODE> should contain a pointer to the new corresponding symtab, or
|
||||
zero if there were no symbols in that part of the symbol file.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC39"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC38"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC40"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC40"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 6.2 Partial Symbol Tables </H2>
|
||||
<!--docid::SEC39::-->
|
||||
<P>
|
||||
|
||||
GDB has three types of symbol tables:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<A NAME="IDX99"></A>
|
||||
<A NAME="IDX100"></A>
|
||||
<LI>
|
||||
Full symbol tables (<EM>symtabs</EM>). These contain the main
|
||||
information about symbols and addresses.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX101"></A>
|
||||
<LI>
|
||||
Partial symbol tables (<EM>psymtabs</EM>). These contain enough
|
||||
information to know when to read the corresponding part of the full
|
||||
symbol table.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX102"></A>
|
||||
<A NAME="IDX103"></A>
|
||||
<LI>
|
||||
Minimal symbol tables (<EM>msymtabs</EM>). These contain information
|
||||
gleaned from non-debugging symbols.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
<A NAME="IDX104"></A>
|
||||
This section describes partial symbol tables.
|
||||
</P><P>
|
||||
|
||||
A psymtab is constructed by doing a very quick pass over an executable
|
||||
file's debugging information. Small amounts of information are
|
||||
extracted--enough to identify which parts of the symbol table will
|
||||
need to be re-read and fully digested later, when the user needs the
|
||||
information. The speed of this pass causes GDB to start up very
|
||||
quickly. Later, as the detailed rereading occurs, it occurs in small
|
||||
pieces, at various times, and the delay therefrom is mostly invisible to
|
||||
the user.
|
||||
</P><P>
|
||||
|
||||
The symbols that show up in a file's psymtab should be, roughly, those
|
||||
visible to the debugger's user when the program is not running code from
|
||||
that file. These include external symbols and types, static symbols and
|
||||
types, and <CODE>enum</CODE> values declared at file scope.
|
||||
</P><P>
|
||||
|
||||
The psymtab also contains the range of instruction addresses that the
|
||||
full symbol table would represent.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX105"></A>
|
||||
<A NAME="IDX106"></A>
|
||||
The idea is that there are only two ways for the user (or much of the
|
||||
code in the debugger) to reference a symbol:
|
||||
</P><P>
|
||||
|
||||
<UL>
|
||||
<A NAME="IDX107"></A>
|
||||
<A NAME="IDX108"></A>
|
||||
<LI>
|
||||
By its address (e.g. execution stops at some address which is inside a
|
||||
function in this file). The address will be noticed to be in the
|
||||
range of this psymtab, and the full symtab will be read in.
|
||||
<CODE>find_pc_function</CODE>, <CODE>find_pc_line</CODE>, and other
|
||||
<CODE>find_pc_<small>...</small></CODE> functions handle this.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX109"></A>
|
||||
<LI>
|
||||
By its name
|
||||
(e.g. the user asks to print a variable, or set a breakpoint on a
|
||||
function). Global names and file-scope names will be found in the
|
||||
psymtab, which will cause the symtab to be pulled in. Local names will
|
||||
have to be qualified by a global name, or a file-scope name, in which
|
||||
case we will have already read in the symtab as we evaluated the
|
||||
qualifier. Or, a local symbol can be referenced when we are "in" a
|
||||
local scope, in which case the first case applies. <CODE>lookup_symbol</CODE>
|
||||
does most of the work here.
|
||||
</UL>
|
||||
<P>
|
||||
|
||||
The only reason that psymtabs exist is to cause a symtab to be read in
|
||||
at the right moment. Any symbol that can be elided from a psymtab,
|
||||
while still causing that to happen, should not appear in it. Since
|
||||
psymtabs don't have the idea of scope, you can't put local symbols in
|
||||
them anyway. Psymtabs don't have the idea of the type of a symbol,
|
||||
either, so types need not appear, unless they will be referenced by
|
||||
name.
|
||||
</P><P>
|
||||
|
||||
It is a bug for GDB to behave one way when only a psymtab has
|
||||
been read, and another way if the corresponding symtab has been read
|
||||
in. Such bugs are typically caused by a psymtab that does not contain
|
||||
all the visible symbols, or which has the wrong instruction address
|
||||
ranges.
|
||||
</P><P>
|
||||
|
||||
The psymtab for a particular section of a symbol file (objfile) could be
|
||||
thrown away after the symtab has been read in. The symtab should always
|
||||
be searched before the psymtab, so the psymtab will never be used (in a
|
||||
bug-free environment). Currently, psymtabs are allocated on an obstack,
|
||||
and all the psymbols themselves are allocated in a pair of large arrays
|
||||
on an obstack, so there is little to be gained by trying to free them
|
||||
unless you want to do a lot more work.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC40"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC39"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC41"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 6.3 Types </H2>
|
||||
<!--docid::SEC40::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC41"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC40"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC42"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> Fundamental Types (e.g., <CODE>FT_VOID</CODE>, <CODE>FT_BOOLEAN</CODE>). </H3>
|
||||
<!--docid::SEC41::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX110"></A>
|
||||
These are the fundamental types that GDB uses internally. Fundamental
|
||||
types from the various debugging formats (stabs, ELF, etc) are mapped
|
||||
into one of these. They are basically a union of all fundamental types
|
||||
that GDB knows about for all the languages that GDB
|
||||
knows about.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC42"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC41"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC43"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> Type Codes (e.g., <CODE>TYPE_CODE_PTR</CODE>, <CODE>TYPE_CODE_ARRAY</CODE>). </H3>
|
||||
<!--docid::SEC42::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX111"></A>
|
||||
Each time GDB builds an internal type, it marks it with one
|
||||
of these types. The type may be a fundamental type, such as
|
||||
<CODE>TYPE_CODE_INT</CODE>, or a derived type, such as <CODE>TYPE_CODE_PTR</CODE>
|
||||
which is a pointer to another type. Typically, several <CODE>FT_*</CODE>
|
||||
types map to one <CODE>TYPE_CODE_*</CODE> type, and are distinguished by
|
||||
other members of the type struct, such as whether the type is signed
|
||||
or unsigned, and how many bits it uses.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC43"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC42"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[ << ]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> Builtin Types (e.g., <CODE>builtin_type_void</CODE>, <CODE>builtin_type_char</CODE>). </H3>
|
||||
<!--docid::SEC43::-->
|
||||
<P>
|
||||
|
||||
These are instances of type structs that roughly correspond to
|
||||
fundamental types and are created as global types for GDB to
|
||||
use for various ugly historical reasons. We eventually want to
|
||||
eliminate these. Note for example that <CODE>builtin_type_int</CODE>
|
||||
initialized in <TT>`gdbtypes.c'</TT> is basically the same as a
|
||||
<CODE>TYPE_CODE_INT</CODE> type that is initialized in <TT>`c-lang.c'</TT> for
|
||||
an <CODE>FT_INTEGER</CODE> fundamental type. The difference is that the
|
||||
<CODE>builtin_type</CODE> is not associated with any particular objfile, and
|
||||
only one instance exists, while <TT>`c-lang.c'</TT> builds as many
|
||||
<CODE>TYPE_CODE_INT</CODE> types as needed, with each one associated with
|
||||
some particular objfile.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC44"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC43"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC45"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 6.4 Object File Formats </H2>
|
||||
<!--docid::SEC44::-->
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC45"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC46"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.1 a.out </H3>
|
||||
<!--docid::SEC45::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX112"></A>
|
||||
The <CODE>a.out</CODE> format is the original file format for Unix. It
|
||||
consists of three sections: <CODE>text</CODE>, <CODE>data</CODE>, and <CODE>bss</CODE>,
|
||||
which are for program code, initialized data, and uninitialized data,
|
||||
respectively.
|
||||
</P><P>
|
||||
|
||||
The <CODE>a.out</CODE> format is so simple that it doesn't have any reserved
|
||||
place for debugging information. (Hey, the original Unix hackers used
|
||||
<SAMP>`adb'</SAMP>, which is a machine-language debugger!) The only debugging
|
||||
format for <CODE>a.out</CODE> is stabs, which is encoded as a set of normal
|
||||
symbols with distinctive attributes.
|
||||
</P><P>
|
||||
|
||||
The basic <CODE>a.out</CODE> reader is in <TT>`dbxread.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC46"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC45"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC47"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC47"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.2 COFF </H3>
|
||||
<!--docid::SEC46::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX113"></A>
|
||||
The COFF format was introduced with System V Release 3 (SVR3) Unix.
|
||||
COFF files may have multiple sections, each prefixed by a header. The
|
||||
number of sections is limited.
|
||||
</P><P>
|
||||
|
||||
The COFF specification includes support for debugging. Although this
|
||||
was a step forward, the debugging information was woefully limited. For
|
||||
instance, it was not possible to represent code that came from an
|
||||
included file.
|
||||
</P><P>
|
||||
|
||||
The COFF reader is in <TT>`coffread.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC47"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC46"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC48"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC48"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.3 ECOFF </H3>
|
||||
<!--docid::SEC47::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX114"></A>
|
||||
ECOFF is an extended COFF originally introduced for Mips and Alpha
|
||||
workstations.
|
||||
</P><P>
|
||||
|
||||
The basic ECOFF reader is in <TT>`mipsread.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC48"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC47"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC49"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC49"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.4 XCOFF </H3>
|
||||
<!--docid::SEC48::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX115"></A>
|
||||
The IBM RS/6000 running AIX uses an object file format called XCOFF.
|
||||
The COFF sections, symbols, and line numbers are used, but debugging
|
||||
symbols are <CODE>dbx</CODE>-style stabs whose strings are located in the
|
||||
<CODE>.debug</CODE> section (rather than the string table). For more
|
||||
information, see section `Top' in <CITE>The Stabs Debugging Format</CITE>.
|
||||
</P><P>
|
||||
|
||||
The shared library scheme has a clean interface for figuring out what
|
||||
shared libraries are in use, but the catch is that everything which
|
||||
refers to addresses (symbol tables and breakpoints at least) needs to be
|
||||
relocated for both shared libraries and the main executable. At least
|
||||
using the standard mechanism this can only be done once the program has
|
||||
been run (or the core file has been read).
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC49"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC48"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC50"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC50"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.5 PE </H3>
|
||||
<!--docid::SEC49::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX116"></A>
|
||||
Windows 95 and NT use the PE (<EM>Portable Executable</EM>) format for their
|
||||
executables. PE is basically COFF with additional headers.
|
||||
</P><P>
|
||||
|
||||
While BFD includes special PE support, GDB needs only the basic
|
||||
COFF reader.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC50"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC49"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC51"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC51"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.6 ELF </H3>
|
||||
<!--docid::SEC50::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX117"></A>
|
||||
The ELF format came with System V Release 4 (SVR4) Unix. ELF is similar
|
||||
to COFF in being organized into a number of sections, but it removes
|
||||
many of COFF's limitations.
|
||||
</P><P>
|
||||
|
||||
The basic ELF reader is in <TT>`elfread.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC51"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC50"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC52"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC52"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.7 SOM </H3>
|
||||
<!--docid::SEC51::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX118"></A>
|
||||
SOM is HP's object file and debug format (not to be confused with IBM's
|
||||
SOM, which is a cross-language ABI).
|
||||
</P><P>
|
||||
|
||||
The SOM reader is in <TT>`hpread.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC52"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC51"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC44"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.4.8 Other File Formats </H3>
|
||||
<!--docid::SEC52::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX119"></A>
|
||||
Other file formats that have been supported by GDB include Netware
|
||||
Loadable Modules (<TT>`nlmread.c'</TT>).
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC53"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC52"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC54"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 6.5 Debugging File Formats </H2>
|
||||
<!--docid::SEC53::-->
|
||||
<P>
|
||||
|
||||
This section describes characteristics of debugging information that
|
||||
are independent of the object file format.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC54"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC55"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.5.1 stabs </H3>
|
||||
<!--docid::SEC54::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX120"></A>
|
||||
<CODE>stabs</CODE> started out as special symbols within the <CODE>a.out</CODE>
|
||||
format. Since then, it has been encapsulated into other file
|
||||
formats, such as COFF and ELF.
|
||||
</P><P>
|
||||
|
||||
While <TT>`dbxread.c'</TT> does some of the basic stab processing,
|
||||
including for encapsulated versions, <TT>`stabsread.c'</TT> does
|
||||
the real work.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC55"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC54"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC56"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC56"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.5.2 COFF </H3>
|
||||
<!--docid::SEC55::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX121"></A>
|
||||
The basic COFF definition includes debugging information. The level
|
||||
of support is minimal and non-extensible, and is not often used.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC56"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC55"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC57"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC57"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.5.3 Mips debug (Third Eye) </H3>
|
||||
<!--docid::SEC56::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX122"></A>
|
||||
ECOFF includes a definition of a special debug format.
|
||||
</P><P>
|
||||
|
||||
The file <TT>`mdebugread.c'</TT> implements reading for this format.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC57"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC56"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC58"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC58"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.5.4 DWARF 1 </H3>
|
||||
<!--docid::SEC57::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX123"></A>
|
||||
DWARF 1 is a debugging format that was originally designed to be
|
||||
used with ELF in SVR4 systems.
|
||||
</P><P>
|
||||
|
||||
The DWARF 1 reader is in <TT>`dwarfread.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC58"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC57"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC59"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC59"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.5.5 DWARF 2 </H3>
|
||||
<!--docid::SEC58::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX124"></A>
|
||||
DWARF 2 is an improved but incompatible version of DWARF 1.
|
||||
</P><P>
|
||||
|
||||
The DWARF 2 reader is in <TT>`dwarf2read.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC59"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC58"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC53"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H3> 6.5.6 SOM </H3>
|
||||
<!--docid::SEC59::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX125"></A>
|
||||
Like COFF, the SOM definition includes debugging information.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC60"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC59"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 6.6 Adding a New Symbol Reader to GDB </H2>
|
||||
<!--docid::SEC60::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX126"></A>
|
||||
If you are using an existing object file format (<CODE>a.out</CODE>, COFF, ELF, etc),
|
||||
there is probably little to be done.
|
||||
</P><P>
|
||||
|
||||
If you need to add a new object file format, you must first add it to
|
||||
BFD. This is beyond the scope of this document.
|
||||
</P><P>
|
||||
|
||||
You must then arrange for the BFD code to provide access to the
|
||||
debugging symbols. Generally GDB will have to call swapping routines
|
||||
from BFD and a few other BFD internal routines to locate the debugging
|
||||
information. As much as possible, GDB should not depend on the BFD
|
||||
internal data structures.
|
||||
</P><P>
|
||||
|
||||
For some targets (e.g., COFF), there is a special transfer vector used
|
||||
to call swapping routines, since the external data structures on various
|
||||
platforms have different sizes and layouts. Specialized routines that
|
||||
will only ever be implemented by one object file format may be called
|
||||
directly. This interface should be described in a file
|
||||
<TT>`bfd/lib<VAR>xyz</VAR>.h'</TT>, which is included by GDB.
|
||||
</P><P>
|
||||
|
||||
<A NAME="Language Support"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC37"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
259
Ref-docs/manual gdb/gdbint/gdbint_7.html
Normal file
259
Ref-docs/manual gdb/gdbint/gdbint_7.html
Normal file
@@ -0,0 +1,259 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Language Support</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Language Support">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Language Support">
|
||||
<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="SEC61"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_6.html#SEC60"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC62"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 7. Language Support </H1>
|
||||
<!--docid::SEC61::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX127"></A>
|
||||
GDB's language support is mainly driven by the symbol reader,
|
||||
although it is possible for the user to set the source language
|
||||
manually.
|
||||
</P><P>
|
||||
|
||||
GDB chooses the source language by looking at the extension
|
||||
of the file recorded in the debug info; <TT>`.c'</TT> means C, <TT>`.f'</TT>
|
||||
means Fortran, etc. It may also use a special-purpose language
|
||||
identifier if the debug format supports it, like with DWARF.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC62"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 7.1 Adding a Source Language to GDB </H2>
|
||||
<!--docid::SEC62::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX128"></A>
|
||||
To add other languages to GDB's expression parser, follow the
|
||||
following steps:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><EM>Create the expression parser.</EM>
|
||||
<DD><P>
|
||||
|
||||
<A NAME="IDX129"></A>
|
||||
This should reside in a file <TT>`<VAR>lang</VAR>-exp.y'</TT>. Routines for
|
||||
building parsed expressions into a <CODE>union exp_element</CODE> list are in
|
||||
<TT>`parse.c'</TT>.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX130"></A>
|
||||
Since we can't depend upon everyone having Bison, and YACC produces
|
||||
parsers that define a bunch of global names, the following lines
|
||||
<STRONG>must</STRONG> be included at the top of the YACC parser, to prevent the
|
||||
various parsers from defining the same global names:
|
||||
</P><P>
|
||||
|
||||
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>#define yyparse <VAR>lang</VAR>_parse
|
||||
#define yylex <VAR>lang</VAR>_lex
|
||||
#define yyerror <VAR>lang</VAR>_error
|
||||
#define yylval <VAR>lang</VAR>_lval
|
||||
#define yychar <VAR>lang</VAR>_char
|
||||
#define yydebug <VAR>lang</VAR>_debug
|
||||
#define yypact <VAR>lang</VAR>_pact
|
||||
#define yyr1 <VAR>lang</VAR>_r1
|
||||
#define yyr2 <VAR>lang</VAR>_r2
|
||||
#define yydef <VAR>lang</VAR>_def
|
||||
#define yychk <VAR>lang</VAR>_chk
|
||||
#define yypgo <VAR>lang</VAR>_pgo
|
||||
#define yyact <VAR>lang</VAR>_act
|
||||
#define yyexca <VAR>lang</VAR>_exca
|
||||
#define yyerrflag <VAR>lang</VAR>_errflag
|
||||
#define yynerrs <VAR>lang</VAR>_nerrs
|
||||
</FONT></pre></td></tr></table></P><P>
|
||||
|
||||
At the bottom of your parser, define a <CODE>struct language_defn</CODE> and
|
||||
initialize it with the right values for your language. Define an
|
||||
<CODE>initialize_<VAR>lang</VAR></CODE> routine and have it call
|
||||
<SAMP>`add_language(<VAR>lang</VAR>_language_defn)'</SAMP> to tell the rest of GDB
|
||||
that your language exists. You'll need some other supporting variables
|
||||
and functions, which will be used via pointers from your
|
||||
<CODE><VAR>lang</VAR>_language_defn</CODE>. See the declaration of <CODE>struct
|
||||
language_defn</CODE> in <TT>`language.h'</TT>, and the other <TT>`*-exp.y'</TT> files,
|
||||
for more information.
|
||||
</P><P>
|
||||
|
||||
<DT><EM>Add any evaluation routines, if necessary</EM>
|
||||
<DD><P>
|
||||
|
||||
<A NAME="IDX131"></A>
|
||||
<A NAME="IDX132"></A>
|
||||
<A NAME="IDX133"></A>
|
||||
<A NAME="IDX134"></A>
|
||||
If you need new opcodes (that represent the operations of the language),
|
||||
add them to the enumerated type in <TT>`expression.h'</TT>. Add support
|
||||
code for these operations in the <CODE>evaluate_subexp</CODE> function
|
||||
defined in the file <TT>`eval.c'</TT>. Add cases
|
||||
for new opcodes in two functions from <TT>`parse.c'</TT>:
|
||||
<CODE>prefixify_subexp</CODE> and <CODE>length_of_subexp</CODE>. These compute
|
||||
the number of <CODE>exp_element</CODE>s that a given operation takes up.
|
||||
</P><P>
|
||||
|
||||
<DT><EM>Update some existing code</EM>
|
||||
<DD><P>
|
||||
|
||||
Add an enumerated identifier for your language to the enumerated type
|
||||
<CODE>enum language</CODE> in <TT>`defs.h'</TT>.
|
||||
</P><P>
|
||||
|
||||
Update the routines in <TT>`language.c'</TT> so your language is included.
|
||||
These routines include type predicates and such, which (in some cases)
|
||||
are language dependent. If your language does not appear in the switch
|
||||
statement, an error is reported.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX135"></A>
|
||||
Also included in <TT>`language.c'</TT> is the code that updates the variable
|
||||
<CODE>current_language</CODE>, and the routines that translate the
|
||||
<CODE>language_<VAR>lang</VAR></CODE> enumerated identifier into a printable
|
||||
string.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX136"></A>
|
||||
Update the function <CODE>_initialize_language</CODE> to include your
|
||||
language. This function picks the default language upon startup, so is
|
||||
dependent upon which languages that GDB is built for.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX137"></A>
|
||||
Update <CODE>allocate_symtab</CODE> in <TT>`symfile.c'</TT> and/or symbol-reading
|
||||
code so that the language of each symtab (source file) is set properly.
|
||||
This is used to determine the language to use at each stack frame level.
|
||||
Currently, the language is set based upon the extension of the source
|
||||
file. If the language can be better inferred from the symbol
|
||||
information, please set the language of the symtab in the symbol-reading
|
||||
code.
|
||||
</P><P>
|
||||
|
||||
<A NAME="IDX138"></A>
|
||||
<A NAME="IDX139"></A>
|
||||
Add helper code to <CODE>print_subexp</CODE> (in <TT>`expprint.c'</TT>) to handle any new
|
||||
expression opcodes you have added to <TT>`expression.h'</TT>. Also, add the
|
||||
printed representations of your operators to <CODE>op_print_tab</CODE>.
|
||||
</P><P>
|
||||
|
||||
<DT><EM>Add a place of call</EM>
|
||||
<DD><P>
|
||||
|
||||
<A NAME="IDX140"></A>
|
||||
Add a call to <CODE><VAR>lang</VAR>_parse()</CODE> and <CODE><VAR>lang</VAR>_error</CODE> in
|
||||
<CODE>parse_exp_1</CODE> (defined in <TT>`parse.c'</TT>).
|
||||
</P><P>
|
||||
|
||||
<DT><EM>Use macros to trim code</EM>
|
||||
<DD><P>
|
||||
|
||||
<A NAME="IDX141"></A>
|
||||
The user has the option of building GDB for some or all of the
|
||||
languages. If the user decides to build GDB for the language
|
||||
<VAR>lang</VAR>, then every file dependent on <TT>`language.h'</TT> will have the
|
||||
macro <CODE>_LANG_<VAR>lang</VAR></CODE> defined in it. Use <CODE>#ifdef</CODE>s to
|
||||
leave out large routines that the user won't need if he or she is not
|
||||
using your language.
|
||||
</P><P>
|
||||
|
||||
Note that you do not need to do this in your YACC parser, since if GDB
|
||||
is not build for <VAR>lang</VAR>, then <TT>`<VAR>lang</VAR>-exp.tab.o'</TT> (the
|
||||
compiled form of your parser) is not linked into GDB at all.
|
||||
</P><P>
|
||||
|
||||
See the file <TT>`configure.in'</TT> for how GDB is configured
|
||||
for different languages.
|
||||
</P><P>
|
||||
|
||||
<DT><EM>Edit <TT>`Makefile.in'</TT></EM>
|
||||
<DD><P>
|
||||
|
||||
Add dependencies in <TT>`Makefile.in'</TT>. Make sure you update the macro
|
||||
variables such as <CODE>HFILES</CODE> and <CODE>OBJS</CODE>, otherwise your code may
|
||||
not get linked in, or, worse yet, it may not get <CODE>tar</CODE>red into the
|
||||
distribution!
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<A NAME="Host Definition"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC61"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
535
Ref-docs/manual gdb/gdbint/gdbint_8.html
Normal file
535
Ref-docs/manual gdb/gdbint/gdbint_8.html
Normal file
@@ -0,0 +1,535 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Host Definition</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Host Definition">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Host Definition">
|
||||
<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="SEC63"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_7.html#SEC62"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC64"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_9.html#SEC67"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_9.html#SEC67"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1> 8. Host Definition </H1>
|
||||
<!--docid::SEC63::-->
|
||||
<P>
|
||||
|
||||
With the advent of Autoconf, it's rarely necessary to have host
|
||||
definition machinery anymore. The following information is provided,
|
||||
mainly, as an historical reference.
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC64"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC66"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_9.html#SEC67"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 8.1 Adding a New Host </H2>
|
||||
<!--docid::SEC64::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX142"></A>
|
||||
<A NAME="IDX143"></A>
|
||||
GDB's host configuration support normally happens via Autoconf.
|
||||
New host-specific definitions should not be needed. Older hosts
|
||||
GDB still use the host-specific definitions and files listed
|
||||
below, but these mostly exist for historical reasons, and will
|
||||
eventually disappear.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<DT><TT>`gdb/config/<VAR>arch</VAR>/<VAR>xyz</VAR>.mh'</TT>
|
||||
<DD>This file once contained both host and native configuration information
|
||||
(see section <A HREF="gdbint_11.html#SEC95">11. Native Debugging</A>) for the machine <VAR>xyz</VAR>. The host
|
||||
configuration information is now handed by Autoconf.
|
||||
<P>
|
||||
|
||||
Host configuration information included a definition of
|
||||
<CODE>XM_FILE=xm-<VAR>xyz</VAR>.h</CODE> and possibly definitions for <CODE>CC</CODE>,
|
||||
<CODE>SYSV_DEFINE</CODE>, <CODE>XM_CFLAGS</CODE>, <CODE>XM_ADD_FILES</CODE>,
|
||||
<CODE>XM_CLIBS</CODE>, <CODE>XM_CDEPS</CODE>, etc.; see <TT>`Makefile.in'</TT>.
|
||||
</P><P>
|
||||
|
||||
New host only configurations do not need this file.
|
||||
</P><P>
|
||||
|
||||
<DT><TT>`gdb/config/<VAR>arch</VAR>/xm-<VAR>xyz</VAR>.h'</TT>
|
||||
<DD>This file once contained definitions and includes required when hosting
|
||||
gdb on machine <VAR>xyz</VAR>. Those definitions and includes are now
|
||||
handled by Autoconf.
|
||||
<P>
|
||||
|
||||
New host and native configurations do not need this file.
|
||||
</P><P>
|
||||
|
||||
<EM>Maintainer's note: Some hosts continue to use the <TT>`xm-xyz.h'</TT>
|
||||
file to define the macros <VAR>HOST_FLOAT_FORMAT</VAR>,
|
||||
<VAR>HOST_DOUBLE_FORMAT</VAR> and <VAR>HOST_LONG_DOUBLE_FORMAT</VAR>. That code
|
||||
also needs to be replaced with either an Autoconf or run-time test.</EM>
|
||||
</P><P>
|
||||
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<A NAME="SEC65"></A>
|
||||
<H3> Generic Host Support Files </H3>
|
||||
<!--docid::SEC65::-->
|
||||
<P>
|
||||
|
||||
<A NAME="IDX144"></A>
|
||||
There are some "generic" versions of routines that can be used by
|
||||
various systems. These can be customized in various ways by macros
|
||||
defined in your <TT>`xm-<VAR>xyz</VAR>.h'</TT> file. If these routines work for
|
||||
the <VAR>xyz</VAR> host, you can just include the generic file's name (with
|
||||
<SAMP>`.o'</SAMP>, not <SAMP>`.c'</SAMP>) in <CODE>XDEPFILES</CODE>.
|
||||
</P><P>
|
||||
|
||||
Otherwise, if your machine needs custom support routines, you will need
|
||||
to write routines that perform the same functions as the generic file.
|
||||
Put them into <CODE><VAR>xyz</VAR>-xdep.c</CODE>, and put <CODE><VAR>xyz</VAR>-xdep.o</CODE>
|
||||
into <CODE>XDEPFILES</CODE>.
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX145"></A>
|
||||
<A NAME="IDX146"></A>
|
||||
<DT><TT>`ser-unix.c'</TT>
|
||||
<DD>This contains serial line support for Unix systems. This is always
|
||||
included, via the makefile variable <CODE>SER_HARDWIRE</CODE>; override this
|
||||
variable in the <TT>`.mh'</TT> file to avoid it.
|
||||
<P>
|
||||
|
||||
<DT><TT>`ser-go32.c'</TT>
|
||||
<DD>This contains serial line support for 32-bit programs running under DOS,
|
||||
using the DJGPP (a.k.a. GO32) execution environment.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX147"></A>
|
||||
<DT><TT>`ser-tcp.c'</TT>
|
||||
<DD>This contains generic TCP support using sockets.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<A NAME="SEC66"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC64"> < </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_9.html#SEC67"> > </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> Up </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_9.html#SEC67"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H2> 8.2 Host Conditionals </H2>
|
||||
<!--docid::SEC66::-->
|
||||
<P>
|
||||
|
||||
When GDB is configured and compiled, various macros are
|
||||
defined or left undefined, to control compilation based on the
|
||||
attributes of the host system. These macros and their meanings (or if
|
||||
the meaning is not documented here, then one of the source files where
|
||||
they are used is indicated) are:
|
||||
</P><P>
|
||||
|
||||
<DL COMPACT>
|
||||
<A NAME="IDX148"></A>
|
||||
<DT><CODE>GDBINIT_FILENAME</CODE>
|
||||
<DD><A NAME="IDX149"></A>
|
||||
The default name of GDB's initialization file (normally
|
||||
<TT>`.gdbinit'</TT>).
|
||||
<P>
|
||||
|
||||
<A NAME="IDX150"></A>
|
||||
<DT><CODE>NO_STD_REGS</CODE>
|
||||
<DD><A NAME="IDX151"></A>
|
||||
This macro is deprecated.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX152"></A>
|
||||
<DT><CODE>NO_SYS_FILE</CODE>
|
||||
<DD><A NAME="IDX153"></A>
|
||||
Define this if your system does not have a <CODE><sys/file.h></CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX154"></A>
|
||||
<DT><CODE>SIGWINCH_HANDLER</CODE>
|
||||
<DD><A NAME="IDX155"></A>
|
||||
If your host defines <CODE>SIGWINCH</CODE>, you can define this to be the name
|
||||
of a function to be called if <CODE>SIGWINCH</CODE> is received.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX156"></A>
|
||||
<DT><CODE>SIGWINCH_HANDLER_BODY</CODE>
|
||||
<DD><A NAME="IDX157"></A>
|
||||
Define this to expand into code that will define the function named by
|
||||
the expansion of <CODE>SIGWINCH_HANDLER</CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX158"></A>
|
||||
<DT><CODE>ALIGN_STACK_ON_STARTUP</CODE>
|
||||
<DD><A NAME="IDX159"></A>
|
||||
<A NAME="IDX160"></A>
|
||||
Define this if your system is of a sort that will crash in
|
||||
<CODE>tgetent</CODE> if the stack happens not to be longword-aligned when
|
||||
<CODE>main</CODE> is called. This is a rare situation, but is known to occur
|
||||
on several different types of systems.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX161"></A>
|
||||
<DT><CODE>CRLF_SOURCE_FILES</CODE>
|
||||
<DD><A NAME="IDX162"></A>
|
||||
<A NAME="IDX163"></A>
|
||||
Define this if host files use <CODE>\r\n</CODE> rather than <CODE>\n</CODE> as a
|
||||
line terminator. This will cause source file listings to omit <CODE>\r</CODE>
|
||||
characters when printing and it will allow <CODE>\r\n</CODE> line endings of files
|
||||
which are "sourced" by gdb. It must be possible to open files in binary
|
||||
mode using <CODE>O_BINARY</CODE> or, for fopen, <CODE>"rb"</CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX164"></A>
|
||||
<DT><CODE>DEFAULT_PROMPT</CODE>
|
||||
<DD><A NAME="IDX165"></A>
|
||||
<A NAME="IDX166"></A>
|
||||
The default value of the prompt string (normally <CODE>"(gdb) "</CODE>).
|
||||
<P>
|
||||
|
||||
<A NAME="IDX167"></A>
|
||||
<DT><CODE>DEV_TTY</CODE>
|
||||
<DD><A NAME="IDX168"></A>
|
||||
<A NAME="IDX169"></A>
|
||||
The name of the generic TTY device, defaults to <CODE>"/dev/tty"</CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX170"></A>
|
||||
<DT><CODE>FCLOSE_PROVIDED</CODE>
|
||||
<DD><A NAME="IDX171"></A>
|
||||
Define this if the system declares <CODE>fclose</CODE> in the headers included
|
||||
in <CODE>defs.h</CODE>. This isn't needed unless your compiler is unusually
|
||||
anal.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX172"></A>
|
||||
<DT><CODE>FOPEN_RB</CODE>
|
||||
<DD><A NAME="IDX173"></A>
|
||||
Define this if binary files are opened the same way as text files.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX174"></A>
|
||||
<DT><CODE>GETENV_PROVIDED</CODE>
|
||||
<DD><A NAME="IDX175"></A>
|
||||
Define this if the system declares <CODE>getenv</CODE> in its headers included
|
||||
in <CODE>defs.h</CODE>. This isn't needed unless your compiler is unusually
|
||||
anal.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX176"></A>
|
||||
<DT><CODE>HAVE_MMAP</CODE>
|
||||
<DD><A NAME="IDX177"></A>
|
||||
<A NAME="IDX178"></A>
|
||||
In some cases, use the system call <CODE>mmap</CODE> for reading symbol
|
||||
tables. For some machines this allows for sharing and quick updates.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX179"></A>
|
||||
<DT><CODE>HAVE_TERMIO</CODE>
|
||||
<DD><A NAME="IDX180"></A>
|
||||
Define this if the host system has <CODE>termio.h</CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX181"></A>
|
||||
<DT><CODE>INT_MAX</CODE>
|
||||
<DD><A NAME="IDX182"></A>
|
||||
<A NAME="IDX183"></A>
|
||||
<DT><CODE>INT_MIN</CODE>
|
||||
<DD><A NAME="IDX184"></A>
|
||||
<A NAME="IDX185"></A>
|
||||
<DT><CODE>LONG_MAX</CODE>
|
||||
<DD><A NAME="IDX186"></A>
|
||||
<A NAME="IDX187"></A>
|
||||
<DT><CODE>UINT_MAX</CODE>
|
||||
<DD><A NAME="IDX188"></A>
|
||||
<A NAME="IDX189"></A>
|
||||
<DT><CODE>ULONG_MAX</CODE>
|
||||
<DD><A NAME="IDX190"></A>
|
||||
Values for host-side constants.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX191"></A>
|
||||
<DT><CODE>ISATTY</CODE>
|
||||
<DD><A NAME="IDX192"></A>
|
||||
Substitute for isatty, if not available.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX193"></A>
|
||||
<DT><CODE>LONGEST</CODE>
|
||||
<DD><A NAME="IDX194"></A>
|
||||
This is the longest integer type available on the host. If not defined,
|
||||
it will default to <CODE>long long</CODE> or <CODE>long</CODE>, depending on
|
||||
<CODE>CC_HAS_LONG_LONG</CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX195"></A>
|
||||
<DT><CODE>CC_HAS_LONG_LONG</CODE>
|
||||
<DD><A NAME="IDX196"></A>
|
||||
<A NAME="IDX197"></A>
|
||||
Define this if the host C compiler supports <CODE>long long</CODE>. This is set
|
||||
by the <CODE>configure</CODE> script.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX198"></A>
|
||||
<DT><CODE>PRINTF_HAS_LONG_LONG</CODE>
|
||||
<DD><A NAME="IDX199"></A>
|
||||
Define this if the host can handle printing of long long integers via
|
||||
the printf format conversion specifier <CODE>ll</CODE>. This is set by the
|
||||
<CODE>configure</CODE> script.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX200"></A>
|
||||
<DT><CODE>HAVE_LONG_DOUBLE</CODE>
|
||||
<DD><A NAME="IDX201"></A>
|
||||
Define this if the host C compiler supports <CODE>long double</CODE>. This is
|
||||
set by the <CODE>configure</CODE> script.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX202"></A>
|
||||
<DT><CODE>PRINTF_HAS_LONG_DOUBLE</CODE>
|
||||
<DD><A NAME="IDX203"></A>
|
||||
Define this if the host can handle printing of long double float-point
|
||||
numbers via the printf format conversion specifier <CODE>Lg</CODE>. This is
|
||||
set by the <CODE>configure</CODE> script.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX204"></A>
|
||||
<DT><CODE>SCANF_HAS_LONG_DOUBLE</CODE>
|
||||
<DD><A NAME="IDX205"></A>
|
||||
Define this if the host can handle the parsing of long double
|
||||
float-point numbers via the scanf format conversion specifier
|
||||
<CODE>Lg</CODE>. This is set by the <CODE>configure</CODE> script.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX206"></A>
|
||||
<DT><CODE>LSEEK_NOT_LINEAR</CODE>
|
||||
<DD><A NAME="IDX207"></A>
|
||||
Define this if <CODE>lseek (n)</CODE> does not necessarily move to byte number
|
||||
<CODE>n</CODE> in the file. This is only used when reading source files. It
|
||||
is normally faster to define <CODE>CRLF_SOURCE_FILES</CODE> when possible.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX208"></A>
|
||||
<DT><CODE>L_SET</CODE>
|
||||
<DD><A NAME="IDX209"></A>
|
||||
This macro is used as the argument to <CODE>lseek</CODE> (or, most commonly,
|
||||
<CODE>bfd_seek</CODE>). FIXME, should be replaced by SEEK_SET instead,
|
||||
which is the POSIX equivalent.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX210"></A>
|
||||
<DT><CODE>MMAP_BASE_ADDRESS</CODE>
|
||||
<DD><A NAME="IDX211"></A>
|
||||
When using HAVE_MMAP, the first mapping should go at this address.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX212"></A>
|
||||
<DT><CODE>MMAP_INCREMENT</CODE>
|
||||
<DD><A NAME="IDX213"></A>
|
||||
when using HAVE_MMAP, this is the increment between mappings.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX214"></A>
|
||||
<DT><CODE>NORETURN</CODE>
|
||||
<DD><A NAME="IDX215"></A>
|
||||
If defined, this should be one or more tokens, such as <CODE>volatile</CODE>,
|
||||
that can be used in both the declaration and definition of functions to
|
||||
indicate that they never return. The default is already set correctly
|
||||
if compiling with GCC. This will almost never need to be defined.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX216"></A>
|
||||
<DT><CODE>ATTR_NORETURN</CODE>
|
||||
<DD><A NAME="IDX217"></A>
|
||||
If defined, this should be one or more tokens, such as
|
||||
<CODE>__attribute__ ((noreturn))</CODE>, that can be used in the declarations
|
||||
of functions to indicate that they never return. The default is already
|
||||
set correctly if compiling with GCC. This will almost never need to be
|
||||
defined.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX218"></A>
|
||||
<DT><CODE>USE_GENERIC_DUMMY_FRAMES</CODE>
|
||||
<DD><A NAME="IDX219"></A>
|
||||
<A NAME="IDX220"></A>
|
||||
Define this to 1 if the target is using the generic inferior function
|
||||
call code. See <CODE>blockframe.c</CODE> for more information.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX221"></A>
|
||||
<DT><CODE>USE_MMALLOC</CODE>
|
||||
<DD><A NAME="IDX222"></A>
|
||||
<A NAME="IDX223"></A>
|
||||
GDB will use the <CODE>mmalloc</CODE> library for memory allocation
|
||||
for symbol reading if this symbol is defined. Be careful defining it
|
||||
since there are systems on which <CODE>mmalloc</CODE> does not work for some
|
||||
reason. One example is the DECstation, where its RPC library can't
|
||||
cope with our redefinition of <CODE>malloc</CODE> to call <CODE>mmalloc</CODE>.
|
||||
When defining <CODE>USE_MMALLOC</CODE>, you will also have to set
|
||||
<CODE>MMALLOC</CODE> in the Makefile, to point to the <CODE>mmalloc</CODE> library. This
|
||||
define is set when you configure with <SAMP>`--with-mmalloc'</SAMP>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX224"></A>
|
||||
<DT><CODE>NO_MMCHECK</CODE>
|
||||
<DD><A NAME="IDX225"></A>
|
||||
<A NAME="IDX226"></A>
|
||||
Define this if you are using <CODE>mmalloc</CODE>, but don't want the overhead
|
||||
of checking the heap with <CODE>mmcheck</CODE>. Note that on some systems,
|
||||
the C runtime makes calls to <CODE>malloc</CODE> prior to calling <CODE>main</CODE>, and if
|
||||
<CODE>free</CODE> is ever called with these pointers after calling
|
||||
<CODE>mmcheck</CODE> to enable checking, a memory corruption abort is certain
|
||||
to occur. These systems can still use <CODE>mmalloc</CODE>, but must define
|
||||
<CODE>NO_MMCHECK</CODE>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX227"></A>
|
||||
<DT><CODE>MMCHECK_FORCE</CODE>
|
||||
<DD><A NAME="IDX228"></A>
|
||||
Define this to 1 if the C runtime allocates memory prior to
|
||||
<CODE>mmcheck</CODE> being called, but that memory is never freed so we don't
|
||||
have to worry about it triggering a memory corruption abort. The
|
||||
default is 0, which means that <CODE>mmcheck</CODE> will only install the heap
|
||||
checking functions if there has not yet been any memory allocation
|
||||
calls, and if it fails to install the functions, GDB will issue a
|
||||
warning. This is currently defined if you configure using
|
||||
<SAMP>`--with-mmalloc'</SAMP>.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX229"></A>
|
||||
<DT><CODE>NO_SIGINTERRUPT</CODE>
|
||||
<DD><A NAME="IDX230"></A>
|
||||
<A NAME="IDX231"></A>
|
||||
Define this to indicate that <CODE>siginterrupt</CODE> is not available.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX232"></A>
|
||||
<DT><CODE>SEEK_CUR</CODE>
|
||||
<DD><A NAME="IDX233"></A>
|
||||
<A NAME="IDX234"></A>
|
||||
<DT><CODE>SEEK_SET</CODE>
|
||||
<DD><A NAME="IDX235"></A>
|
||||
Define these to appropriate value for the system <CODE>lseek</CODE>, if not already
|
||||
defined.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX236"></A>
|
||||
<DT><CODE>STOP_SIGNAL</CODE>
|
||||
<DD><A NAME="IDX237"></A>
|
||||
This is the signal for stopping GDB. Defaults to
|
||||
<CODE>SIGTSTP</CODE>. (Only redefined for the Convex.)
|
||||
<P>
|
||||
|
||||
<A NAME="IDX238"></A>
|
||||
<DT><CODE>USE_O_NOCTTY</CODE>
|
||||
<DD><A NAME="IDX239"></A>
|
||||
Define this if the interior's tty should be opened with the <CODE>O_NOCTTY</CODE>
|
||||
flag. (FIXME: This should be a native-only flag, but <TT>`inflow.c'</TT> is
|
||||
always linked in.)
|
||||
<P>
|
||||
|
||||
<A NAME="IDX240"></A>
|
||||
<DT><CODE>USG</CODE>
|
||||
<DD><A NAME="IDX241"></A>
|
||||
Means that System V (prior to SVR4) include files are in use. (FIXME:
|
||||
This symbol is abused in <TT>`infrun.c'</TT>, <TT>`regex.c'</TT>,
|
||||
<TT>`remote-nindy.c'</TT>, and <TT>`utils.c'</TT> for other things, at the
|
||||
moment.)
|
||||
<P>
|
||||
|
||||
<A NAME="IDX242"></A>
|
||||
<DT><CODE>lint</CODE>
|
||||
<DD><A NAME="IDX243"></A>
|
||||
Define this to help placate <CODE>lint</CODE> in some situations.
|
||||
<P>
|
||||
|
||||
<A NAME="IDX244"></A>
|
||||
<DT><CODE>volatile</CODE>
|
||||
<DD><A NAME="IDX245"></A>
|
||||
Define this to override the defaults of <CODE>__volatile__</CODE> or
|
||||
<CODE>/**/</CODE>.
|
||||
</DL>
|
||||
<P>
|
||||
|
||||
<A NAME="Target Architecture Definition"></A>
|
||||
</P><P>
|
||||
|
||||
<HR SIZE="6">
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_8.html#SEC63"> << </A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_9.html#SEC67"> >> </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="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
2636
Ref-docs/manual gdb/gdbint/gdbint_9.html
Normal file
2636
Ref-docs/manual gdb/gdbint/gdbint_9.html
Normal file
File diff suppressed because it is too large
Load Diff
220
Ref-docs/manual gdb/gdbint/gdbint_abt.html
Normal file
220
Ref-docs/manual gdb/gdbint/gdbint_abt.html
Normal file
@@ -0,0 +1,220 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: About this document</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: About this document">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: About this document">
|
||||
<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="SEC_About"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1>About this document</H1>
|
||||
|
||||
<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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
<P></P>
|
||||
The buttons in the navigation panels have the following meaning:
|
||||
<P></P>
|
||||
<table border = "1">
|
||||
<TR>
|
||||
<TH> Button </TH>
|
||||
<TH> Name </TH>
|
||||
<TH> Go to </TH>
|
||||
<TH> From 1.2.3 go to</TH>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[ < ] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
Back
|
||||
</TD>
|
||||
<TD>
|
||||
previous section in reading order
|
||||
</TD>
|
||||
<TD>
|
||||
1.2.2
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[ > ] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
Forward
|
||||
</TD>
|
||||
<TD>
|
||||
next section in reading order
|
||||
</TD>
|
||||
<TD>
|
||||
1.2.4
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[ << ] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
FastBack
|
||||
</TD>
|
||||
<TD>
|
||||
previous or up-and-previous section
|
||||
</TD>
|
||||
<TD>
|
||||
1.1
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[ Up ] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
Up
|
||||
</TD>
|
||||
<TD>
|
||||
up section
|
||||
</TD>
|
||||
<TD>
|
||||
1.2
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[ >> ] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
FastForward
|
||||
</TD>
|
||||
<TD>
|
||||
next or up-and-next section
|
||||
</TD>
|
||||
<TD>
|
||||
1.3
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[Top] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
Top
|
||||
</TD>
|
||||
<TD>
|
||||
cover (top) of document
|
||||
</TD>
|
||||
<TD>
|
||||
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[Contents] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
Contents
|
||||
</TD>
|
||||
<TD>
|
||||
table of contents
|
||||
</TD>
|
||||
<TD>
|
||||
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[Index] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
Index
|
||||
</TD>
|
||||
<TD>
|
||||
concept index
|
||||
</TD>
|
||||
<TD>
|
||||
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="CENTER">
|
||||
[ ? ] </TD>
|
||||
<TD ALIGN="CENTER">
|
||||
About
|
||||
</TD>
|
||||
<TD>
|
||||
this page
|
||||
</TD>
|
||||
<TD>
|
||||
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<P></P>
|
||||
where the <STRONG> Example </STRONG> assumes that the current position
|
||||
is at <STRONG> Subsubsection One-Two-Three </STRONG> of a document of
|
||||
the following structure:
|
||||
<UL>
|
||||
<LI> 1. Section One </LI>
|
||||
<UL>
|
||||
<LI>1.1 Subsection One-One</LI>
|
||||
<UL>
|
||||
<LI> ... </LI>
|
||||
</UL>
|
||||
<LI>1.2 Subsection One-Two</LI>
|
||||
<UL>
|
||||
<LI>1.2.1 Subsubsection One-Two-One
|
||||
</LI><LI>1.2.2 Subsubsection One-Two-Two
|
||||
</LI><LI>1.2.3 Subsubsection One-Two-Three <STRONG>
|
||||
<== Current Position </STRONG>
|
||||
</LI><LI>1.2.4 Subsubsection One-Two-Four
|
||||
</LI></UL>
|
||||
<LI>1.3 Subsection One-Three</LI>
|
||||
<UL>
|
||||
<LI> ... </LI>
|
||||
</UL>
|
||||
<LI>1.4 Subsection One-Four</LI>
|
||||
</UL>
|
||||
</UL>
|
||||
|
||||
<HR SIZE=1>
|
||||
<BR>
|
||||
<FONT SIZE="-1">
|
||||
This document was generated
|
||||
by <I>GDB Administrator</I> on <I>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
79
Ref-docs/manual gdb/gdbint/gdbint_fot.html
Normal file
79
Ref-docs/manual gdb/gdbint/gdbint_fot.html
Normal file
@@ -0,0 +1,79 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Footnotes</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Footnotes">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Footnotes">
|
||||
<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="gdbint_fot.html"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1>Footnotes</H1>
|
||||
<H3><A NAME="FOOT1" HREF="gdbint_4.html#DOCF1">(1)</A></H3>
|
||||
<P>The function
|
||||
cast is not portable ISO C.
|
||||
<H3><A NAME="FOOT2" HREF="gdbint_4.html#DOCF2">(2)</A></H3>
|
||||
<P>As of this writing (April 2001),
|
||||
setting verbosity level is not yet implemented, and is always returned
|
||||
as zero. So calling <CODE>ui_out_message</CODE> with a <VAR>verbosity</VAR>
|
||||
argument more than zero will cause the message to never be printed.
|
||||
<H3><A NAME="FOOT3" HREF="gdbint_9.html#DOCF3">(3)</A></H3>
|
||||
<P>Some D10V instructions are
|
||||
actually pairs of 16-bit sub-instructions. However, since you can't
|
||||
jump into the middle of such a pair, code addresses can only refer to
|
||||
full 32 bit instructions, which is what matters in this explanation.
|
||||
<H3><A NAME="FOOT4" HREF="gdbint_9.html#DOCF4">(4)</A></H3>
|
||||
<P>The
|
||||
above is from the original example and uses K&R C. GDB
|
||||
has since converted to ISO C but lets ignore that.
|
||||
<HR SIZE=1>
|
||||
<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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
103
Ref-docs/manual gdb/gdbint/gdbint_ovr.html
Normal file
103
Ref-docs/manual gdb/gdbint/gdbint_ovr.html
Normal file
@@ -0,0 +1,103 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Short Table of Contents</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Short Table of Contents">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Short Table of Contents">
|
||||
<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="SEC_OVERVIEW"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1>Short Table of Contents</H1>
|
||||
<BLOCKQUOTE>
|
||||
<A NAME="TOC1" HREF="gdbint_1.html#SEC1">1. Requirements</A>
|
||||
<BR>
|
||||
<A NAME="TOC2" HREF="gdbint_2.html#SEC2">2. Overall Structure</A>
|
||||
<BR>
|
||||
<A NAME="TOC6" HREF="gdbint_3.html#SEC6">3. Algorithms</A>
|
||||
<BR>
|
||||
<A NAME="TOC16" HREF="gdbint_4.html#SEC16">4. User Interface</A>
|
||||
<BR>
|
||||
<A NAME="TOC27" HREF="gdbint_5.html#SEC27">5. libgdb</A>
|
||||
<BR>
|
||||
<A NAME="TOC37" HREF="gdbint_6.html#SEC37">6. Symbol Handling</A>
|
||||
<BR>
|
||||
<A NAME="TOC61" HREF="gdbint_7.html#SEC61">7. Language Support</A>
|
||||
<BR>
|
||||
<A NAME="TOC63" HREF="gdbint_8.html#SEC63">8. Host Definition</A>
|
||||
<BR>
|
||||
<A NAME="TOC67" HREF="gdbint_9.html#SEC67">9. Target Architecture Definition</A>
|
||||
<BR>
|
||||
<A NAME="TOC88" HREF="gdbint_10.html#SEC88">10. Target Vector Definition</A>
|
||||
<BR>
|
||||
<A NAME="TOC95" HREF="gdbint_11.html#SEC95">11. Native Debugging</A>
|
||||
<BR>
|
||||
<A NAME="TOC102" HREF="gdbint_12.html#SEC102">12. Support Libraries</A>
|
||||
<BR>
|
||||
<A NAME="TOC110" HREF="gdbint_13.html#SEC110">13. Coding</A>
|
||||
<BR>
|
||||
<A NAME="TOC126" HREF="gdbint_14.html#SEC126">14. Porting GDB</A>
|
||||
<BR>
|
||||
<A NAME="TOC129" HREF="gdbint_15.html#SEC129">15. Releasing GDB</A>
|
||||
<BR>
|
||||
<A NAME="TOC175" HREF="gdbint_16.html#SEC175">16. Testsuite</A>
|
||||
<BR>
|
||||
<A NAME="TOC179" HREF="gdbint_17.html#SEC179">17. Hints</A>
|
||||
<BR>
|
||||
<A NAME="TOC184" HREF="gdbint_18.html#SEC184">A. GNU Free Documentation License</A>
|
||||
<BR>
|
||||
<A NAME="TOC186" HREF="gdbint_19.html#SEC186">Index</A>
|
||||
<BR>
|
||||
|
||||
</BLOCKQUOTE>
|
||||
<HR SIZE=1>
|
||||
<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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
422
Ref-docs/manual gdb/gdbint/gdbint_toc.html
Normal file
422
Ref-docs/manual gdb/gdbint/gdbint_toc.html
Normal file
@@ -0,0 +1,422 @@
|
||||
<HTML>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<!-- Created on October, 18 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>GDB Internals: Table of Contents</TITLE>
|
||||
|
||||
<META NAME="description" CONTENT="GDB Internals: Table of Contents">
|
||||
<META NAME="keywords" CONTENT="GDB Internals: Table of Contents">
|
||||
<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="SEC_Contents"></A>
|
||||
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||||
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint.html#SEC_Top">Top</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_toc.html#SEC_Contents">Contents</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_19.html#SEC186">Index</A>]</TD>
|
||||
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdbint_abt.html#SEC_About"> ? </A>]</TD>
|
||||
</TR></TABLE>
|
||||
<H1>Table of Contents</H1>
|
||||
<UL>
|
||||
<A NAME="TOC1" HREF="gdbint_1.html#SEC1">1. Requirements</A>
|
||||
<BR>
|
||||
<A NAME="TOC2" HREF="gdbint_2.html#SEC2">2. Overall Structure</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC3" HREF="gdbint_2.html#SEC3">2.1 The Symbol Side</A>
|
||||
<BR>
|
||||
<A NAME="TOC4" HREF="gdbint_2.html#SEC4">2.2 The Target Side</A>
|
||||
<BR>
|
||||
<A NAME="TOC5" HREF="gdbint_2.html#SEC5">2.3 Configurations</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC6" HREF="gdbint_3.html#SEC6">3. Algorithms</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC7" HREF="gdbint_3.html#SEC7">3.1 Frames</A>
|
||||
<BR>
|
||||
<A NAME="TOC8" HREF="gdbint_3.html#SEC8">3.2 Breakpoint Handling</A>
|
||||
<BR>
|
||||
<A NAME="TOC9" HREF="gdbint_3.html#SEC9">3.3 Single Stepping</A>
|
||||
<BR>
|
||||
<A NAME="TOC10" HREF="gdbint_3.html#SEC10">3.4 Signal Handling</A>
|
||||
<BR>
|
||||
<A NAME="TOC11" HREF="gdbint_3.html#SEC11">3.5 Thread Handling</A>
|
||||
<BR>
|
||||
<A NAME="TOC12" HREF="gdbint_3.html#SEC12">3.6 Inferior Function Calls</A>
|
||||
<BR>
|
||||
<A NAME="TOC13" HREF="gdbint_3.html#SEC13">3.7 Longjmp Support</A>
|
||||
<BR>
|
||||
<A NAME="TOC14" HREF="gdbint_3.html#SEC14">3.8 Watchpoints</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC15" HREF="gdbint_3.html#SEC15">3.8.1 x86 Watchpoints</A>
|
||||
<BR>
|
||||
</UL>
|
||||
</UL>
|
||||
<A NAME="TOC16" HREF="gdbint_4.html#SEC16">4. User Interface</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC17" HREF="gdbint_4.html#SEC17">4.1 Command Interpreter</A>
|
||||
<BR>
|
||||
<A NAME="TOC18" HREF="gdbint_4.html#SEC18">4.2 UI-Independent Output--the <CODE>ui_out</CODE> Functions</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC19" HREF="gdbint_4.html#SEC19">4.2.1 Overview and Terminology</A>
|
||||
<BR>
|
||||
<A NAME="TOC20" HREF="gdbint_4.html#SEC20">4.2.2 General Conventions</A>
|
||||
<BR>
|
||||
<A NAME="TOC21" HREF="gdbint_4.html#SEC21">4.2.3 Table, Tuple and List Functions</A>
|
||||
<BR>
|
||||
<A NAME="TOC22" HREF="gdbint_4.html#SEC22">4.2.4 Item Output Functions</A>
|
||||
<BR>
|
||||
<A NAME="TOC23" HREF="gdbint_4.html#SEC23">4.2.5 Utility Output Functions</A>
|
||||
<BR>
|
||||
<A NAME="TOC24" HREF="gdbint_4.html#SEC24">4.2.6 Examples of Use of <CODE>ui_out</CODE> functions</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC25" HREF="gdbint_4.html#SEC25">4.3 Console Printing</A>
|
||||
<BR>
|
||||
<A NAME="TOC26" HREF="gdbint_4.html#SEC26">4.4 TUI</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC27" HREF="gdbint_5.html#SEC27">5. libgdb</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC28" HREF="gdbint_5.html#SEC28">5.1 libgdb 1.0</A>
|
||||
<BR>
|
||||
<A NAME="TOC29" HREF="gdbint_5.html#SEC29">5.2 libgdb 2.0</A>
|
||||
<BR>
|
||||
<A NAME="TOC30" HREF="gdbint_5.html#SEC30">5.3 The <CODE>libgdb</CODE> Model</A>
|
||||
<BR>
|
||||
<A NAME="TOC31" HREF="gdbint_5.html#SEC31">5.4 CLI support</A>
|
||||
<BR>
|
||||
<A NAME="TOC32" HREF="gdbint_5.html#SEC32">5.5 <CODE>libgdb</CODE> components</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC37" HREF="gdbint_6.html#SEC37">6. Symbol Handling</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC38" HREF="gdbint_6.html#SEC38">6.1 Symbol Reading</A>
|
||||
<BR>
|
||||
<A NAME="TOC39" HREF="gdbint_6.html#SEC39">6.2 Partial Symbol Tables</A>
|
||||
<BR>
|
||||
<A NAME="TOC40" HREF="gdbint_6.html#SEC40">6.3 Types</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC41" HREF="gdbint_6.html#SEC41">Fundamental Types (e.g., <CODE>FT_VOID</CODE>, <CODE>FT_BOOLEAN</CODE>).</A>
|
||||
<BR>
|
||||
<A NAME="TOC42" HREF="gdbint_6.html#SEC42">Type Codes (e.g., <CODE>TYPE_CODE_PTR</CODE>, <CODE>TYPE_CODE_ARRAY</CODE>).</A>
|
||||
<BR>
|
||||
<A NAME="TOC43" HREF="gdbint_6.html#SEC43">Builtin Types (e.g., <CODE>builtin_type_void</CODE>, <CODE>builtin_type_char</CODE>).</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC44" HREF="gdbint_6.html#SEC44">6.4 Object File Formats</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC45" HREF="gdbint_6.html#SEC45">6.4.1 a.out</A>
|
||||
<BR>
|
||||
<A NAME="TOC46" HREF="gdbint_6.html#SEC46">6.4.2 COFF</A>
|
||||
<BR>
|
||||
<A NAME="TOC47" HREF="gdbint_6.html#SEC47">6.4.3 ECOFF</A>
|
||||
<BR>
|
||||
<A NAME="TOC48" HREF="gdbint_6.html#SEC48">6.4.4 XCOFF</A>
|
||||
<BR>
|
||||
<A NAME="TOC49" HREF="gdbint_6.html#SEC49">6.4.5 PE</A>
|
||||
<BR>
|
||||
<A NAME="TOC50" HREF="gdbint_6.html#SEC50">6.4.6 ELF</A>
|
||||
<BR>
|
||||
<A NAME="TOC51" HREF="gdbint_6.html#SEC51">6.4.7 SOM</A>
|
||||
<BR>
|
||||
<A NAME="TOC52" HREF="gdbint_6.html#SEC52">6.4.8 Other File Formats</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC53" HREF="gdbint_6.html#SEC53">6.5 Debugging File Formats</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC54" HREF="gdbint_6.html#SEC54">6.5.1 stabs</A>
|
||||
<BR>
|
||||
<A NAME="TOC55" HREF="gdbint_6.html#SEC55">6.5.2 COFF</A>
|
||||
<BR>
|
||||
<A NAME="TOC56" HREF="gdbint_6.html#SEC56">6.5.3 Mips debug (Third Eye)</A>
|
||||
<BR>
|
||||
<A NAME="TOC57" HREF="gdbint_6.html#SEC57">6.5.4 DWARF 1</A>
|
||||
<BR>
|
||||
<A NAME="TOC58" HREF="gdbint_6.html#SEC58">6.5.5 DWARF 2</A>
|
||||
<BR>
|
||||
<A NAME="TOC59" HREF="gdbint_6.html#SEC59">6.5.6 SOM</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC60" HREF="gdbint_6.html#SEC60">6.6 Adding a New Symbol Reader to GDB</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC61" HREF="gdbint_7.html#SEC61">7. Language Support</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC62" HREF="gdbint_7.html#SEC62">7.1 Adding a Source Language to GDB</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC63" HREF="gdbint_8.html#SEC63">8. Host Definition</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC64" HREF="gdbint_8.html#SEC64">8.1 Adding a New Host</A>
|
||||
<BR>
|
||||
<A NAME="TOC66" HREF="gdbint_8.html#SEC66">8.2 Host Conditionals</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC67" HREF="gdbint_9.html#SEC67">9. Target Architecture Definition</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC68" HREF="gdbint_9.html#SEC68">9.1 Operating System ABI Variant Handling</A>
|
||||
<BR>
|
||||
<A NAME="TOC69" HREF="gdbint_9.html#SEC69">9.2 Registers and Memory</A>
|
||||
<BR>
|
||||
<A NAME="TOC70" HREF="gdbint_9.html#SEC70">9.3 Pointers Are Not Always Addresses</A>
|
||||
<BR>
|
||||
<A NAME="TOC71" HREF="gdbint_9.html#SEC71">9.4 Address Classes</A>
|
||||
<BR>
|
||||
<A NAME="TOC72" HREF="gdbint_9.html#SEC72">9.5 Raw and Virtual Register Representations</A>
|
||||
<BR>
|
||||
<A NAME="TOC73" HREF="gdbint_9.html#SEC73">9.6 Using Different Register and Memory Data Representations</A>
|
||||
<BR>
|
||||
<A NAME="TOC74" HREF="gdbint_9.html#SEC74">9.7 Frame Interpretation</A>
|
||||
<BR>
|
||||
<A NAME="TOC75" HREF="gdbint_9.html#SEC75">9.8 Inferior Call Setup</A>
|
||||
<BR>
|
||||
<A NAME="TOC76" HREF="gdbint_9.html#SEC76">9.9 Compiler Characteristics</A>
|
||||
<BR>
|
||||
<A NAME="TOC77" HREF="gdbint_9.html#SEC77">9.10 Target Conditionals</A>
|
||||
<BR>
|
||||
<A NAME="TOC78" HREF="gdbint_9.html#SEC78">9.11 Adding a New Target</A>
|
||||
<BR>
|
||||
<A NAME="TOC79" HREF="gdbint_9.html#SEC79">9.12 Converting an existing Target Architecture to Multi-arch</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC80" HREF="gdbint_9.html#SEC80">9.12.1 Preparation</A>
|
||||
<BR>
|
||||
<A NAME="TOC81" HREF="gdbint_9.html#SEC81">9.12.2 Add the multi-arch initialization code</A>
|
||||
<BR>
|
||||
<A NAME="TOC82" HREF="gdbint_9.html#SEC82">9.12.3 Update multi-arch incompatible mechanisms</A>
|
||||
<BR>
|
||||
<A NAME="TOC83" HREF="gdbint_9.html#SEC83">9.12.4 Prepare for multi-arch level to one</A>
|
||||
<BR>
|
||||
<A NAME="TOC84" HREF="gdbint_9.html#SEC84">9.12.5 Set multi-arch level one</A>
|
||||
<BR>
|
||||
<A NAME="TOC85" HREF="gdbint_9.html#SEC85">9.12.6 Convert remaining macros</A>
|
||||
<BR>
|
||||
<A NAME="TOC86" HREF="gdbint_9.html#SEC86">9.12.7 Set multi-arch level to two</A>
|
||||
<BR>
|
||||
<A NAME="TOC87" HREF="gdbint_9.html#SEC87">9.12.8 Delete the TM file</A>
|
||||
<BR>
|
||||
</UL>
|
||||
</UL>
|
||||
<A NAME="TOC88" HREF="gdbint_10.html#SEC88">10. Target Vector Definition</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC89" HREF="gdbint_10.html#SEC89">10.1 File Targets</A>
|
||||
<BR>
|
||||
<A NAME="TOC90" HREF="gdbint_10.html#SEC90">10.2 Standard Protocol and Remote Stubs</A>
|
||||
<BR>
|
||||
<A NAME="TOC91" HREF="gdbint_10.html#SEC91">10.3 ROM Monitor Interface</A>
|
||||
<BR>
|
||||
<A NAME="TOC92" HREF="gdbint_10.html#SEC92">10.4 Custom Protocols</A>
|
||||
<BR>
|
||||
<A NAME="TOC93" HREF="gdbint_10.html#SEC93">10.5 Transport Layer</A>
|
||||
<BR>
|
||||
<A NAME="TOC94" HREF="gdbint_10.html#SEC94">10.6 Builtin Simulator</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC95" HREF="gdbint_11.html#SEC95">11. Native Debugging</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC96" HREF="gdbint_11.html#SEC96">11.1 Native core file Support</A>
|
||||
<BR>
|
||||
<A NAME="TOC97" HREF="gdbint_11.html#SEC97">11.2 ptrace</A>
|
||||
<BR>
|
||||
<A NAME="TOC98" HREF="gdbint_11.html#SEC98">11.3 /proc</A>
|
||||
<BR>
|
||||
<A NAME="TOC99" HREF="gdbint_11.html#SEC99">11.4 win32</A>
|
||||
<BR>
|
||||
<A NAME="TOC100" HREF="gdbint_11.html#SEC100">11.5 shared libraries</A>
|
||||
<BR>
|
||||
<A NAME="TOC101" HREF="gdbint_11.html#SEC101">11.6 Native Conditionals</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC102" HREF="gdbint_12.html#SEC102">12. Support Libraries</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC103" HREF="gdbint_12.html#SEC103">12.1 BFD</A>
|
||||
<BR>
|
||||
<A NAME="TOC104" HREF="gdbint_12.html#SEC104">12.2 opcodes</A>
|
||||
<BR>
|
||||
<A NAME="TOC105" HREF="gdbint_12.html#SEC105">12.3 readline</A>
|
||||
<BR>
|
||||
<A NAME="TOC106" HREF="gdbint_12.html#SEC106">12.4 mmalloc</A>
|
||||
<BR>
|
||||
<A NAME="TOC107" HREF="gdbint_12.html#SEC107">12.5 libiberty</A>
|
||||
<BR>
|
||||
<A NAME="TOC108" HREF="gdbint_12.html#SEC108">12.6 gnu-regex</A>
|
||||
<BR>
|
||||
<A NAME="TOC109" HREF="gdbint_12.html#SEC109">12.7 include</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC110" HREF="gdbint_13.html#SEC110">13. Coding</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC111" HREF="gdbint_13.html#SEC111">13.1 Cleanups</A>
|
||||
<BR>
|
||||
<A NAME="TOC112" HREF="gdbint_13.html#SEC112">13.2 Per-architecture module data</A>
|
||||
<BR>
|
||||
<A NAME="TOC113" HREF="gdbint_13.html#SEC113">13.3 Wrapping Output Lines</A>
|
||||
<BR>
|
||||
<A NAME="TOC114" HREF="gdbint_13.html#SEC114">13.4 GDB Coding Standards</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC115" HREF="gdbint_13.html#SEC115">13.4.1 ISO C</A>
|
||||
<BR>
|
||||
<A NAME="TOC116" HREF="gdbint_13.html#SEC116">13.4.2 Memory Management</A>
|
||||
<BR>
|
||||
<A NAME="TOC117" HREF="gdbint_13.html#SEC117">13.4.3 Compiler Warnings</A>
|
||||
<BR>
|
||||
<A NAME="TOC118" HREF="gdbint_13.html#SEC118">13.4.4 Formatting</A>
|
||||
<BR>
|
||||
<A NAME="TOC119" HREF="gdbint_13.html#SEC119">13.4.5 Comments</A>
|
||||
<BR>
|
||||
<A NAME="TOC120" HREF="gdbint_13.html#SEC120">13.4.6 C Usage</A>
|
||||
<BR>
|
||||
<A NAME="TOC121" HREF="gdbint_13.html#SEC121">13.4.7 Function Prototypes</A>
|
||||
<BR>
|
||||
<A NAME="TOC122" HREF="gdbint_13.html#SEC122">13.4.8 Internal Error Recovery</A>
|
||||
<BR>
|
||||
<A NAME="TOC123" HREF="gdbint_13.html#SEC123">13.4.9 File Names</A>
|
||||
<BR>
|
||||
<A NAME="TOC124" HREF="gdbint_13.html#SEC124">13.4.10 Include Files</A>
|
||||
<BR>
|
||||
<A NAME="TOC125" HREF="gdbint_13.html#SEC125">13.4.11 Clean Design and Portable Implementation</A>
|
||||
<BR>
|
||||
</UL>
|
||||
</UL>
|
||||
<A NAME="TOC126" HREF="gdbint_14.html#SEC126">14. Porting GDB</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC127" HREF="gdbint_14.html#SEC127">14.1 Configuring GDB for Release</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC129" HREF="gdbint_15.html#SEC129">15. Releasing GDB</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC130" HREF="gdbint_15.html#SEC130">15.1 Versions and Branches</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC131" HREF="gdbint_15.html#SEC131">15.1.1 Version Identifiers</A>
|
||||
<BR>
|
||||
<A NAME="TOC132" HREF="gdbint_15.html#SEC132">15.1.2 Branches</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC133" HREF="gdbint_15.html#SEC133">15.2 Branch Commit Policy</A>
|
||||
<BR>
|
||||
<A NAME="TOC134" HREF="gdbint_15.html#SEC134">15.3 Obsoleting code</A>
|
||||
<BR>
|
||||
<A NAME="TOC135" HREF="gdbint_15.html#SEC135">15.4 Before the Branch</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC140" HREF="gdbint_15.html#SEC140">15.4.1 Review the bug data base</A>
|
||||
<BR>
|
||||
<A NAME="TOC141" HREF="gdbint_15.html#SEC141">15.4.2 Check all cross targets build</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC142" HREF="gdbint_15.html#SEC142">15.5 Cut the Branch</A>
|
||||
<BR>
|
||||
<A NAME="TOC149" HREF="gdbint_15.html#SEC149">15.6 Stabilize the branch</A>
|
||||
<BR>
|
||||
<A NAME="TOC150" HREF="gdbint_15.html#SEC150">15.7 Create a Release</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC151" HREF="gdbint_15.html#SEC151">15.7.1 Create a release candidate</A>
|
||||
<BR>
|
||||
<A NAME="TOC159" HREF="gdbint_15.html#SEC159">15.7.2 Sanity check the tar ball</A>
|
||||
<BR>
|
||||
<A NAME="TOC160" HREF="gdbint_15.html#SEC160">15.7.3 Make a release candidate available</A>
|
||||
<BR>
|
||||
<A NAME="TOC161" HREF="gdbint_15.html#SEC161">15.7.4 Make a formal release available</A>
|
||||
<BR>
|
||||
<A NAME="TOC167" HREF="gdbint_15.html#SEC167">15.7.5 Cleanup</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC174" HREF="gdbint_15.html#SEC174">15.8 Post release</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC175" HREF="gdbint_16.html#SEC175">16. Testsuite</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC176" HREF="gdbint_16.html#SEC176">16.1 Using the Testsuite</A>
|
||||
<BR>
|
||||
<A NAME="TOC177" HREF="gdbint_16.html#SEC177">16.2 Testsuite Organization</A>
|
||||
<BR>
|
||||
<A NAME="TOC178" HREF="gdbint_16.html#SEC178">16.3 Writing Tests</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC179" HREF="gdbint_17.html#SEC179">17. Hints</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC180" HREF="gdbint_17.html#SEC180">17.1 Getting Started</A>
|
||||
<BR>
|
||||
<A NAME="TOC181" HREF="gdbint_17.html#SEC181">17.2 Debugging GDB with itself</A>
|
||||
<BR>
|
||||
<A NAME="TOC182" HREF="gdbint_17.html#SEC182">17.3 Submitting Patches</A>
|
||||
<BR>
|
||||
<A NAME="TOC183" HREF="gdbint_17.html#SEC183">17.4 Obsolete Conditionals</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC184" HREF="gdbint_18.html#SEC184">A. GNU Free Documentation License</A>
|
||||
<BR>
|
||||
<UL>
|
||||
<A NAME="TOC185" HREF="gdbint_18.html#SEC185">ADDENDUM: How to use this License for your documents</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<A NAME="TOC186" HREF="gdbint_19.html#SEC186">Index</A>
|
||||
<BR>
|
||||
</UL>
|
||||
<HR SIZE=1>
|
||||
<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>October, 18 2002</I>
|
||||
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||||
"><I>texi2html</I></A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
Reference in New Issue
Block a user