You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
525 lines
23 KiB
HTML
525 lines
23 KiB
HTML
15 years ago
|
<HTML>
|
||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<!-- Created on March, 27 2008 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>Debugging with GDB: Installing GDB</TITLE>
|
||
|
|
||
|
<META NAME="description" CONTENT="Debugging with GDB: Installing GDB">
|
||
|
<META NAME="keywords" CONTENT="Debugging with GDB: Installing 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="SEC685"></A>
|
||
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_30.html#SEC684"> < </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC686"> > </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> << </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb.html#SEC_Top"> Up </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> >> </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="gdb.html#SEC_Top">Top</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
|
||
|
</TR></TABLE>
|
||
|
<H1> B. Installing GDB </H1>
|
||
|
<!--docid::SEC685::-->
|
||
|
<P>
|
||
|
|
||
|
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
|
||
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC686">B.1 Requirements for Building GDB</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Requirements for building GDB</TD></TR>
|
||
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC689">B.2 Invoking the GDB <TT>`configure'</TT> Script</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Invoking the GDB <TT>`configure'</TT> script</TD></TR>
|
||
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC690">B.3 Compiling GDB in Another Directory</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Compiling GDB in another directory</TD></TR>
|
||
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC691">B.4 Specifying Names for Hosts and Targets</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Specifying names for hosts and targets</TD></TR>
|
||
|
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="gdb_31.html#SEC692">B.5 <TT>`configure'</TT> Options</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP">Summary of options for configure</TD></TR>
|
||
|
</TABLE></BLOCKQUOTE>
|
||
|
<P>
|
||
|
|
||
|
<A NAME="Requirements"></A>
|
||
|
<HR SIZE="6">
|
||
|
<A NAME="SEC686"></A>
|
||
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> < </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC689"> > </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> << </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> >> </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="gdb.html#SEC_Top">Top</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
|
||
|
</TR></TABLE>
|
||
|
<H2> B.1 Requirements for Building GDB </H2>
|
||
|
<!--docid::SEC686::-->
|
||
|
<P>
|
||
|
|
||
|
Building GDB requires various tools and packages to be available.
|
||
|
Other packages will be used only if they are found.
|
||
|
</P><P>
|
||
|
|
||
|
<A NAME="SEC687"></A>
|
||
|
<H2> Tools/Packages Necessary for Building GDB </H2>
|
||
|
<!--docid::SEC687::-->
|
||
|
<DL COMPACT>
|
||
|
<DT>ISO C90 compiler
|
||
|
<DD>GDB is written in ISO C90. It should be buildable with any
|
||
|
working C90 compiler, e.g. GCC.
|
||
|
<P>
|
||
|
|
||
|
</DL>
|
||
|
<P>
|
||
|
|
||
|
<A NAME="SEC688"></A>
|
||
|
<H2> Tools/Packages Optional for Building GDB </H2>
|
||
|
<!--docid::SEC688::-->
|
||
|
<DL COMPACT>
|
||
|
<DT>Expat
|
||
|
<DD><A NAME="Expat"></A>
|
||
|
GDB can use the Expat XML parsing library. This library may be
|
||
|
included with your operating system distribution; if it is not, you
|
||
|
can get the latest version from <A HREF="http://expat.sourceforge.net">http://expat.sourceforge.net</A>.
|
||
|
The <TT>`configure'</TT> script will search for this library in several
|
||
|
standard locations; if it is installed in an unusual path, you can
|
||
|
use the <SAMP>`--with-libexpat-prefix'</SAMP> option to specify its location.
|
||
|
<P>
|
||
|
|
||
|
Expat is used for:
|
||
|
</P><P>
|
||
|
|
||
|
<UL>
|
||
|
<LI>
|
||
|
Remote protocol memory maps (see section <A HREF="gdb_33.html#SEC737">D.12 Memory Map Format</A>)
|
||
|
<LI>
|
||
|
Target descriptions (see section <A HREF="gdb_35.html#SEC745">F. Target Descriptions</A>)
|
||
|
<LI>
|
||
|
Remote shared library lists (see section <A HREF="gdb_33.html#SEC736">D.11 Library List Format</A>)
|
||
|
<LI>
|
||
|
MS-Windows shared libraries (see <A HREF="gdb_16.html#Shared Libraries">Shared Libraries</A>)
|
||
|
</UL>
|
||
|
<P>
|
||
|
|
||
|
</DL>
|
||
|
<P>
|
||
|
|
||
|
<A NAME="Running Configure"></A>
|
||
|
<HR SIZE="6">
|
||
|
<A NAME="SEC689"></A>
|
||
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC686"> < </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC690"> > </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC690"> << </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> >> </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="gdb.html#SEC_Top">Top</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
|
||
|
</TR></TABLE>
|
||
|
<H2> B.2 Invoking the GDB <TT>`configure'</TT> Script </H2>
|
||
|
<!--docid::SEC689::-->
|
||
|
GDB comes with a <TT>`configure'</TT> script that automates the process
|
||
|
of preparing GDB for installation; you can then use <CODE>make</CODE> to
|
||
|
build the <CODE>gdb</CODE> program.
|
||
|
<P>
|
||
|
|
||
|
The GDB distribution includes all the source code you need for
|
||
|
GDB in a single directory, whose name is usually composed by
|
||
|
appending the version number to <SAMP>`gdb'</SAMP>.
|
||
|
</P><P>
|
||
|
|
||
|
For example, the GDB version 6.8 distribution is in the
|
||
|
<TT>`gdb-6.8'</TT> directory. That directory contains:
|
||
|
</P><P>
|
||
|
|
||
|
<DL COMPACT>
|
||
|
<DT><CODE>gdb-6.8/configure (and supporting files)</CODE>
|
||
|
<DD>script for configuring GDB and all its supporting libraries
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/gdb</CODE>
|
||
|
<DD>the source specific to GDB itself
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/bfd</CODE>
|
||
|
<DD>source for the Binary File Descriptor library
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/include</CODE>
|
||
|
<DD>GNU include files
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/libiberty</CODE>
|
||
|
<DD>source for the <SAMP>`-liberty'</SAMP> free software library
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/opcodes</CODE>
|
||
|
<DD>source for the library of opcode tables and disassemblers
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/readline</CODE>
|
||
|
<DD>source for the GNU command-line interface
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/glob</CODE>
|
||
|
<DD>source for the GNU filename pattern-matching subroutine
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>gdb-6.8/mmalloc</CODE>
|
||
|
<DD>source for the GNU memory-mapped malloc package
|
||
|
</DL>
|
||
|
<P>
|
||
|
|
||
|
The simplest way to configure and build GDB is to run <TT>`configure'</TT>
|
||
|
from the <TT>`gdb-<VAR>version-number</VAR>'</TT> source directory, which in
|
||
|
this example is the <TT>`gdb-6.8'</TT> directory.
|
||
|
</P><P>
|
||
|
|
||
|
First switch to the <TT>`gdb-<VAR>version-number</VAR>'</TT> source directory
|
||
|
if you are not already in it; then run <TT>`configure'</TT>. Pass the
|
||
|
identifier for the platform on which GDB will run as an
|
||
|
argument.
|
||
|
</P><P>
|
||
|
|
||
|
For example:
|
||
|
</P><P>
|
||
|
|
||
|
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>cd gdb-6.8
|
||
|
./configure <VAR>host</VAR>
|
||
|
make
|
||
|
</FONT></pre></td></tr></table></P><P>
|
||
|
|
||
|
where <VAR>host</VAR> is an identifier such as <SAMP>`sun4'</SAMP> or
|
||
|
<SAMP>`decstation'</SAMP>, that identifies the platform where GDB will run.
|
||
|
(You can often leave off <VAR>host</VAR>; <TT>`configure'</TT> tries to guess the
|
||
|
correct value by examining your system.)
|
||
|
</P><P>
|
||
|
|
||
|
Running <SAMP>`configure <VAR>host</VAR>'</SAMP> and then running <CODE>make</CODE> builds the
|
||
|
<TT>`bfd'</TT>, <TT>`readline'</TT>, <TT>`mmalloc'</TT>, and <TT>`libiberty'</TT>
|
||
|
libraries, then <CODE>gdb</CODE> itself. The configured source files, and the
|
||
|
binaries, are left in the corresponding source directories.
|
||
|
</P><P>
|
||
|
|
||
|
<TT>`configure'</TT> is a Bourne-shell (<CODE>/bin/sh</CODE>) script; if your
|
||
|
system does not recognize this automatically when you run a different
|
||
|
shell, you may need to run <CODE>sh</CODE> on it explicitly:
|
||
|
</P><P>
|
||
|
|
||
|
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>sh configure <VAR>host</VAR>
|
||
|
</FONT></pre></td></tr></table></P><P>
|
||
|
|
||
|
If you run <TT>`configure'</TT> from a directory that contains source
|
||
|
directories for multiple libraries or programs, such as the
|
||
|
<TT>`gdb-6.8'</TT> source directory for version 6.8,
|
||
|
<TT>`configure'</TT>
|
||
|
creates configuration files for every directory level underneath (unless
|
||
|
you tell it not to, with the <SAMP>`--norecursion'</SAMP> option).
|
||
|
</P><P>
|
||
|
|
||
|
You should run the <TT>`configure'</TT> script from the top directory in the
|
||
|
source tree, the <TT>`gdb-<VAR>version-number</VAR>'</TT> directory. If you run
|
||
|
<TT>`configure'</TT> from one of the subdirectories, you will configure only
|
||
|
that subdirectory. That is usually not what you want. In particular,
|
||
|
if you run the first <TT>`configure'</TT> from the <TT>`gdb'</TT> subdirectory
|
||
|
of the <TT>`gdb-<VAR>version-number</VAR>'</TT> directory, you will omit the
|
||
|
configuration of <TT>`bfd'</TT>, <TT>`readline'</TT>, and other sibling
|
||
|
directories of the <TT>`gdb'</TT> subdirectory. This leads to build errors
|
||
|
about missing include files such as <TT>`bfd/bfd.h'</TT>.
|
||
|
</P><P>
|
||
|
|
||
|
You can install <CODE>gdb</CODE> anywhere; it has no hardwired paths.
|
||
|
However, you should make sure that the shell on your path (named by
|
||
|
the <SAMP>`SHELL'</SAMP> environment variable) is publicly readable. Remember
|
||
|
that GDB uses the shell to start your program--some systems refuse to
|
||
|
let GDB debug child processes whose programs are not readable.
|
||
|
</P><P>
|
||
|
|
||
|
<A NAME="Separate Objdir"></A>
|
||
|
<HR SIZE="6">
|
||
|
<A NAME="SEC690"></A>
|
||
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC689"> < </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC691"> > </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC691"> << </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> >> </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="gdb.html#SEC_Top">Top</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
|
||
|
</TR></TABLE>
|
||
|
<H2> B.3 Compiling GDB in Another Directory </H2>
|
||
|
<!--docid::SEC690::-->
|
||
|
<P>
|
||
|
|
||
|
If you want to run GDB versions for several host or target machines,
|
||
|
you need a different <CODE>gdb</CODE> compiled for each combination of
|
||
|
host and target. <TT>`configure'</TT> is designed to make this easy by
|
||
|
allowing you to generate each configuration in a separate subdirectory,
|
||
|
rather than in the source directory. If your <CODE>make</CODE> program
|
||
|
handles the <SAMP>`VPATH'</SAMP> feature (GNU <CODE>make</CODE> does), running
|
||
|
<CODE>make</CODE> in each of these directories builds the <CODE>gdb</CODE>
|
||
|
program specified there.
|
||
|
</P><P>
|
||
|
|
||
|
To build <CODE>gdb</CODE> in a separate directory, run <TT>`configure'</TT>
|
||
|
with the <SAMP>`--srcdir'</SAMP> option to specify where to find the source.
|
||
|
(You also need to specify a path to find <TT>`configure'</TT>
|
||
|
itself from your working directory. If the path to <TT>`configure'</TT>
|
||
|
would be the same as the argument to <SAMP>`--srcdir'</SAMP>, you can leave out
|
||
|
the <SAMP>`--srcdir'</SAMP> option; it is assumed.)
|
||
|
</P><P>
|
||
|
|
||
|
For example, with version 6.8, you can build GDB in a
|
||
|
separate directory for a Sun 4 like this:
|
||
|
</P><P>
|
||
|
|
||
|
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>cd gdb-6.8
|
||
|
mkdir ../gdb-sun4
|
||
|
cd ../gdb-sun4
|
||
|
../gdb-6.8/configure sun4
|
||
|
make
|
||
|
</FONT></pre></td></tr></table></P><P>
|
||
|
|
||
|
When <TT>`configure'</TT> builds a configuration using a remote source
|
||
|
directory, it creates a tree for the binaries with the same structure
|
||
|
(and using the same names) as the tree under the source directory. In
|
||
|
the example, you'd find the Sun 4 library <TT>`libiberty.a'</TT> in the
|
||
|
directory <TT>`gdb-sun4/libiberty'</TT>, and GDB itself in
|
||
|
<TT>`gdb-sun4/gdb'</TT>.
|
||
|
</P><P>
|
||
|
|
||
|
Make sure that your path to the <TT>`configure'</TT> script has just one
|
||
|
instance of <TT>`gdb'</TT> in it. If your path to <TT>`configure'</TT> looks
|
||
|
like <TT>`../gdb-6.8/gdb/configure'</TT>, you are configuring only
|
||
|
one subdirectory of GDB, not the whole package. This leads to
|
||
|
build errors about missing include files such as <TT>`bfd/bfd.h'</TT>.
|
||
|
</P><P>
|
||
|
|
||
|
One popular reason to build several GDB configurations in separate
|
||
|
directories is to configure GDB for cross-compiling (where
|
||
|
GDB runs on one machine--the <EM>host</EM>---while debugging
|
||
|
programs that run on another machine--the <EM>target</EM>).
|
||
|
You specify a cross-debugging target by
|
||
|
giving the <SAMP>`--target=<VAR>target</VAR>'</SAMP> option to <TT>`configure'</TT>.
|
||
|
</P><P>
|
||
|
|
||
|
When you run <CODE>make</CODE> to build a program or library, you must run
|
||
|
it in a configured directory--whatever directory you were in when you
|
||
|
called <TT>`configure'</TT> (or one of its subdirectories).
|
||
|
</P><P>
|
||
|
|
||
|
The <CODE>Makefile</CODE> that <TT>`configure'</TT> generates in each source
|
||
|
directory also runs recursively. If you type <CODE>make</CODE> in a source
|
||
|
directory such as <TT>`gdb-6.8'</TT> (or in a separate configured
|
||
|
directory configured with <SAMP>`--srcdir=<VAR>dirname</VAR>/gdb-6.8'</SAMP>), you
|
||
|
will build all the required libraries, and then build GDB.
|
||
|
</P><P>
|
||
|
|
||
|
When you have multiple hosts or targets configured in separate
|
||
|
directories, you can run <CODE>make</CODE> on them in parallel (for example,
|
||
|
if they are NFS-mounted on each of the hosts); they will not interfere
|
||
|
with each other.
|
||
|
</P><P>
|
||
|
|
||
|
<A NAME="Config Names"></A>
|
||
|
<HR SIZE="6">
|
||
|
<A NAME="SEC691"></A>
|
||
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC690"> < </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC692"> > </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC692"> << </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> >> </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="gdb.html#SEC_Top">Top</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
|
||
|
</TR></TABLE>
|
||
|
<H2> B.4 Specifying Names for Hosts and Targets </H2>
|
||
|
<!--docid::SEC691::-->
|
||
|
<P>
|
||
|
|
||
|
The specifications used for hosts and targets in the <TT>`configure'</TT>
|
||
|
script are based on a three-part naming scheme, but some short predefined
|
||
|
aliases are also supported. The full naming scheme encodes three pieces
|
||
|
of information in the following pattern:
|
||
|
</P><P>
|
||
|
|
||
|
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre><VAR>architecture</VAR>-<VAR>vendor</VAR>-<VAR>os</VAR>
|
||
|
</FONT></pre></td></tr></table></P><P>
|
||
|
|
||
|
For example, you can use the alias <CODE>sun4</CODE> as a <VAR>host</VAR> argument,
|
||
|
or as the value for <VAR>target</VAR> in a <CODE>--target=<VAR>target</VAR></CODE>
|
||
|
option. The equivalent full name is <SAMP>`sparc-sun-sunos4'</SAMP>.
|
||
|
</P><P>
|
||
|
|
||
|
The <TT>`configure'</TT> script accompanying GDB does not provide
|
||
|
any query facility to list all supported host and target names or
|
||
|
aliases. <TT>`configure'</TT> calls the Bourne shell script
|
||
|
<CODE>config.sub</CODE> to map abbreviations to full names; you can read the
|
||
|
script, if you wish, or you can use it to test your guesses on
|
||
|
abbreviations--for example:
|
||
|
</P><P>
|
||
|
|
||
|
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>% sh config.sub i386-linux
|
||
|
i386-pc-linux-gnu
|
||
|
% sh config.sub alpha-linux
|
||
|
alpha-unknown-linux-gnu
|
||
|
% sh config.sub hp9k700
|
||
|
hppa1.1-hp-hpux
|
||
|
% sh config.sub sun4
|
||
|
sparc-sun-sunos4.1.1
|
||
|
% sh config.sub sun3
|
||
|
m68k-sun-sunos4.1.1
|
||
|
% sh config.sub i986v
|
||
|
Invalid configuration `i986v': machine `i986v' not recognized
|
||
|
</FONT></pre></td></tr></table></P><P>
|
||
|
|
||
|
<CODE>config.sub</CODE> is also distributed in the GDB source
|
||
|
directory (<TT>`gdb-6.8'</TT>, for version 6.8).
|
||
|
</P><P>
|
||
|
|
||
|
<A NAME="Configure Options"></A>
|
||
|
<HR SIZE="6">
|
||
|
<A NAME="SEC692"></A>
|
||
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC691"> < </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> > </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> << </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> Up </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> >> </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="gdb.html#SEC_Top">Top</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
|
||
|
</TR></TABLE>
|
||
|
<H2> B.5 <TT>`configure'</TT> Options </H2>
|
||
|
<!--docid::SEC692::-->
|
||
|
<P>
|
||
|
|
||
|
Here is a summary of the <TT>`configure'</TT> options and arguments that
|
||
|
are most often useful for building GDB. <TT>`configure'</TT> also has
|
||
|
several other options not listed here. See Info file `configure.info', node `What Configure Does', for a full explanation of <TT>`configure'</TT>.
|
||
|
</P><P>
|
||
|
|
||
|
<TABLE><tr><td> </td><td class=smallexample><FONT SIZE=-1><pre>configure [--help]
|
||
|
[--prefix=<VAR>dir</VAR>]
|
||
|
[--exec-prefix=<VAR>dir</VAR>]
|
||
|
[--srcdir=<VAR>dirname</VAR>]
|
||
|
[--norecursion] [--rm]
|
||
|
[--target=<VAR>target</VAR>]
|
||
|
<VAR>host</VAR>
|
||
|
</FONT></pre></td></tr></table></P><P>
|
||
|
|
||
|
You may introduce options with a single <SAMP>`-'</SAMP> rather than
|
||
|
<SAMP>`--'</SAMP> if you prefer; but you may abbreviate option names if you use
|
||
|
<SAMP>`--'</SAMP>.
|
||
|
</P><P>
|
||
|
|
||
|
<DL COMPACT>
|
||
|
<DT><CODE>--help</CODE>
|
||
|
<DD>Display a quick summary of how to invoke <TT>`configure'</TT>.
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>--prefix=<VAR>dir</VAR></CODE>
|
||
|
<DD>Configure the source to install programs and files under directory
|
||
|
<TT>`<VAR>dir</VAR>'</TT>.
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>--exec-prefix=<VAR>dir</VAR></CODE>
|
||
|
<DD>Configure the source to install programs under directory
|
||
|
<TT>`<VAR>dir</VAR>'</TT>.
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>--srcdir=<VAR>dirname</VAR></CODE>
|
||
|
<DD><STRONG>Warning: using this option requires GNU <CODE>make</CODE>, or another
|
||
|
<CODE>make</CODE> that implements the <CODE>VPATH</CODE> feature.</STRONG><BR>
|
||
|
Use this option to make configurations in directories separate from the
|
||
|
GDB source directories. Among other things, you can use this to
|
||
|
build (or maintain) several configurations simultaneously, in separate
|
||
|
directories. <TT>`configure'</TT> writes configuration-specific files in
|
||
|
the current directory, but arranges for them to use the source in the
|
||
|
directory <VAR>dirname</VAR>. <TT>`configure'</TT> creates directories under
|
||
|
the working directory in parallel to the source directories below
|
||
|
<VAR>dirname</VAR>.
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>--norecursion</CODE>
|
||
|
<DD>Configure only the directory level where <TT>`configure'</TT> is executed; do not
|
||
|
propagate configuration to subdirectories.
|
||
|
<P>
|
||
|
|
||
|
<DT><CODE>--target=<VAR>target</VAR></CODE>
|
||
|
<DD>Configure GDB for cross-debugging programs running on the specified
|
||
|
<VAR>target</VAR>. Without this option, GDB is configured to debug
|
||
|
programs that run on the same machine (<VAR>host</VAR>) as GDB itself.
|
||
|
<P>
|
||
|
|
||
|
There is no convenient way to generate a list of all available targets.
|
||
|
</P><P>
|
||
|
|
||
|
<DT><CODE><VAR>host</VAR> <small>...</small></CODE>
|
||
|
<DD>Configure GDB to run on the specified <VAR>host</VAR>.
|
||
|
<P>
|
||
|
|
||
|
There is no convenient way to generate a list of all available hosts.
|
||
|
</DL>
|
||
|
<P>
|
||
|
|
||
|
There are many other options available as well, but they are generally
|
||
|
needed for special purposes only.
|
||
|
</P><P>
|
||
|
|
||
|
<A NAME="Maintenance Commands"></A>
|
||
|
<HR SIZE="6">
|
||
|
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
|
||
|
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_31.html#SEC685"> << </A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_32.html#SEC693"> >> </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="gdb.html#SEC_Top">Top</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_toc.html#SEC_Contents">Contents</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_38.html#SEC764">Index</A>]</TD>
|
||
|
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="gdb_abt.html#SEC_About"> ? </A>]</TD>
|
||
|
</TR></TABLE>
|
||
|
<BR>
|
||
|
<FONT SIZE="-1">
|
||
|
|
||
|
<address>
|
||
|
|
||
|
<p>Please send FSF & GNU inquiries & questions to <a
|
||
|
href="mailto:gnu@gnu.org">gnu@gnu.org</a>. There are also <a
|
||
|
href="http://www.gnu.org/home.html#ContactInfo">other ways to
|
||
|
contact</a> the FSF.</p>
|
||
|
|
||
|
<p>These pages are maintained by <a
|
||
|
href="http://www.gnu.org/software/gdb/">the GDB developers</a>.</p>
|
||
|
|
||
|
<p>Copyright Free Software Foundation, Inc., 59 Temple Place - Suite
|
||
|
330, Boston, MA 02111, USA.</p>
|
||
|
|
||
|
<p>Verbatim copying and distribution of this entire article is
|
||
|
permitted in any medium, provided this notice is preserved.</p>
|
||
|
|
||
|
</address>
|
||
|
|
||
|
This document was generated
|
||
|
by <I>GDB Administrator</I> on <I>March, 27 2008</I>
|
||
|
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
|
||
|
"><I>texi2html</I></A>
|
||
|
|
||
|
</BODY>
|
||
|
</HTML>
|