Update for gdb-4.4 release.

This commit is contained in:
John Gilmore 1992-02-01 01:44:31 +00:00
parent a8cd573f81
commit 575945e328
1 changed files with 169 additions and 171 deletions

View File

@ -41,63 +41,70 @@ while debugging a program running on a machine of another type. See below.
More Documentation More Documentation
================== ==================
The GDB 4.4 release includes an already-formatted reference card, The GDB 4 release includes an already-formatted reference card,
ready for printing on a PostScript printer, as ready for printing on a PostScript or GhostScript printer, in the `gdb'
`gdb-4.4/gdb/refcard.ps'. It uses the most common PostScript fonts: subdirectory of the main source directory--in `gdb-4.4/gdb/refcard.ps'
the Times family, Courier, and Symbol. If you have a PostScript of the version 4.4 release. If you have a PostScript or GhostScript
printer, you can print the reference card by just sending `refcard.ps' printer, you can print the reference card by just sending `refcard.ps'
to the printer. to the printer.
The release also includes the online Info version of this manual If all you have is TeX, format the GDB reference card by typing:
already formatted: the main Info file is `gdb-4.4/gdb/gdb.info', and it
refers to subordinate files matching `gdb.info*' in the same directory.
If you want to make these Info files yourself from the GDB manual's
source, you need the GNU `makeinfo' program. Once you have it, you
can type
cd gdb-4.4/gdb
make gdb.info
to make the Info file.
If you want to format and print copies of the manual, you need
several things:
* TeX, the public domain typesetting program written by Donald
Knuth, must be installed on your system and available through
your execution path.
* `gdb-4.4/texinfo': TeX macros defining the GNU Documentation
Format.
* *A DVI output program.* TeX does not actually make marks on
paper; it produces output files called DVI files. If your system
has TeX installed, chances are it has a program for printing out
these files; one popular example is `dvips', which can print DVI
files on PostScript printers.
Once you have these things, you can type
cd gdb-4.4/gdb
make gdb.dvi
to format the text of this manual, and print it with the usual output
method for TeX DVI files at your site.
If you want to print the reference card, but do not have a
PostScript printer, or you want to use Computer Modern fonts instead,
you can still print it if you have TeX. Format the reference card by
typing
cd gdb-4.4/gdb
make refcard.dvi make refcard.dvi
The GDB reference card is designed to print in landscape mode on US The GDB reference card is designed to print in landscape mode on US
"letter" size paper; that is, on a sheet 11 inches wide by 8.5 inches "letter" size paper; that is, on a sheet 11 inches wide by 8.5 inches
high. You will need to specify this form of printing as an option to high. You will need to specify this form of printing as an option to
your DVI output program. your DVI output program.
All the documentation for GDB comes as part of the online
distribution. The documentation is written in Texinfo format,
which is a documentation system that uses a single source file to
produce both on-line information and a printed manual. You can use
one of the Info formatting commands to create the on-line version of
the documentation and TeX (or `texi2roff') to typeset the printed
version.
GDB includes an already formatted copy of the on-line Info version
of this manual in the `gdb' subdirectory. The main Info file is
`gdb-VERSION-NUMBER/gdb/gdb.info', and it refers to subordinate files
matching `gdb.info*' in the same directory.
If you want to format these Info files yourself, you need one of the
Info formatting programs, such as `texinfo-format-buffer' or
`makeinfo'.
If you have `makeinfo' installed, and are in the top level GDB
source directory (`gdb-4.4', in the case of version 4.4), you can make
the Info file by typing:
cd gdb
make gdb.info
If you want to typeset and print copies of this manual, you need
TeX, a printing program such as `lpr', and `texinfo.tex', the Texinfo
definitions file.
TeX is typesetting program; it does not print files directly, but
produces output files called DVI files. To print a typeset document,
you need a program to print DVI files. If your system has TeX
installed, chances are it has such a program. The precise command to
use depends on your system; `lpr -d' is common; another is `dvips'.
The DVI print command may require a file name without any extension or
a `.dvi' extension.
TeX also requires a macro definitions file called `texinfo.tex'.
This file tells TeX how to typeset a document written in Texinfo
format. On its own, TeX cannot read, much less typeset a Texinfo
file. `texinfo.tex' is distributed with GDB and is located in the
`gdb-VERSION-NUMBER/texinfo' directory.
If you have TeX and a DVI printer program installed, you can
typeset and print this manual. First switch to the the `gdb'
subdirectory of the main source directory (for example, to
`gdb-4.4/gdb') and then type:
make gdb.dvi
Installing GDB Installing GDB
============== ==============
@ -106,8 +113,12 @@ Installing GDB
preparing GDB for installation; you can then use `make' to build the preparing GDB for installation; you can then use `make' to build the
`gdb' program. `gdb' program.
The gdb distribution includes all the source code you need for gdb The GDB distribution includes all the source code you need for GDB
in a single directory `gdb-4.4'. That directory in turn contains: in a single directory, whose name is usually composed by appending the
version number to `gdb'.
For example, the GDB version 4.4 distribution is in the `gdb-4.4'
directory. That directory contains:
`gdb-4.4/configure (and supporting files)' `gdb-4.4/configure (and supporting files)'
script for configuring GDB and all its supporting libraries. script for configuring GDB and all its supporting libraries.
@ -127,110 +138,108 @@ in a single directory `gdb-4.4'. That directory in turn contains:
`gdb-4.4/readline' `gdb-4.4/readline'
source for the GNU command-line interface source for the GNU command-line interface
It is most convenient to run `configure' from the `gdb-4.4' directory. The simplest way to configure and build GDB is to run `configure'
The simplest way to configure and build GDB is the following: from the `gdb-VERSION-NUMBER' source directory, which in this example
is the `gdb-4.4' directory.
First switch to the `gdb-VERSION-NUMBER' source directory if you
are not already in it; then run `configure'. Pass the identifier for
the platform on which GDB will run as an argument.
For example:
cd gdb-4.4 cd gdb-4.4
./configure HOST ./configure HOST
make make
where HOST is something like `sun4' or `decstation', that identifies where HOST is an identifier such as `sun4' or `decstation', that
the platform where GDB will run. This builds the three libraries identifies the platform where GDB will run.
`bfd', `readline', and `libiberty', then `gdb' itself. The configured
source files, and the binaries, are left in the corresponding source These `configure' and `make' commands build the three libraries `bfd',
`readline', and `libiberty', then `gdb' itself. The configured source
files, and the binaries, are left in the corresponding source
directories. directories.
`configure' is a Bourne-shell (`/bin/sh') script; if your system `configure' is a Bourne-shell (`/bin/sh') script; if your system
does not recognize this automatically when you run a different shell, does not recognize this automatically when you run a different shell,
you may need to run `sh' on it explicitly: `sh configure HOST'. you may need to run `sh' on it explicitly:
You can *run* the `configure' script from any of the subordinate sh configure HOST
directories in the GDB distribution (if you only want to configure
that subdirectory); but be sure to specify a path to it. For example, If you run `configure' from a directory that contains source
to configure only the `bfd' subdirectory, directories for multiple libraries or programs, such as the `gdb-4.4'
source directory for version 4.4, `configure' creates configuration
files for every directory level underneath (unless you tell it not to,
with the `--norecursion' option).
You can run the `configure' script from any of the subordinate
directories in the GDB distribution, if you only want to configure
that subdirectory; but be sure to specify a path to it.
For example, with version 4.4, type the following to configure only
the `bfd' subdirectory:
cd gdb-4.4/bfd cd gdb-4.4/bfd
../configure HOST ../configure HOST
You can install `gdb' anywhere; it has no hardwired paths. Simply You can install `gdb' anywhere; it has no hardwired paths.
copy `gdb/gdb' to the desired directory. However, you should make sure that the shell on your path (named by
the `SHELL' environment variable) is publicly readable. Remember that
However, you should make sure that the shell on your path (named by GDB uses the shell to start your program--some systems refuse to let
the `SHELL' environment variable) is publicly readable; some systems GDB debug child processes whose programs are not readable.
refuse to let GDB debug child processes whose programs are not
readable, and GDB uses the shell to start your program.
Configuration Subdirectories Compiling GDB in Another Directory
============================ ==================================
If you want to run GDB versions for several host or target machines, If you want to run GDB versions for several host or target machines,
you'll need a different gdb compiled for each combination of host and you'll need a different `gdb' compiled for each combination of host
target. `configure' is designed to make this easy by allowing you to and target. `configure' is designed to make this easy by allowing you
generate each configuration in a separate subdirectory. If your to generate each configuration in a separate subdirectory, rather than
`make' program handles the `VPATH' feature (GNU `make' does), running in the source directory. If your `make' program handles the `VPATH'
`make' in each of these directories then builds the gdb program feature (GNU `make' does), running `make' in each of these directories
specified there. then builds the `gdb' program specified there.
`configure' creates these subdirectories for you when you To build `gdb' in a separate directory, run `configure' with the
simultaneously specify several configurations; but it is a good habit `--srcdir' option to specify where to find the source. (Remember,
even for a single configuration. You can specify the use of you'll also need to specify a path to find `configure' itself from
subdirectories using the `+subdirs' option (abbreviated `+sub'). For your working directory.)
example, you can build GDB this way on a Sun 4 as follows:
For example, with version 4.4, you can build GDB in a separate
directory for a Sun 4 like this:
cd gdb-4.4 cd gdb-4.4
./configure +sub sun4 mkdir ../gdb-sun4
cd H-sun4/T-sun4 cd ../gdb-sun4
../gdb-4.4/configure --srcdir=../gdb-4.4 sun4
make make
When `configure' uses subdirectories to build programs or When `configure' builds a configuration using a remote source
libraries, it creates nested directories `H-HOST/T-TARGET'. directory, it creates a tree for the binaries with the same structure
`configure' uses these two directory levels because GDB can be (and using the same names) as the tree under the source directory. In
configured for cross-compiling: GDB can run on one machine (the host) the example, you'd find the Sun 4 library `libiberty.a' in the
while debugging programs that run on another machine (the target). directory `gdb-sun4/libiberty', and GDB itself in `gdb-sun4/gdb'.
You specify cross-debugging targets by giving the `+target=TARGET'
option to `configure'. Specifying only hosts still gives you two
levels of subdirectory for each host, with the same configuration
suffix on both; that is, if you give any number of hosts but no
targets, GDB will be configured for native debugging on each host. On
the other hand, whenever you specify both hosts and targets on the
same command line, `configure' creates all combinations of the hosts
and targets you list.
If you run `configure' from a directory (notably, `gdb-4.4') that One popular use for building several GDB configurations in separate
contains source directories for multiple libraries or programs, directories is to configure GDB for cross-compiling (where GDB runs on
`configure' creates the `H-HOST/T-TARGET' subdirectories in each one machine--the host--while debugging programs that run on another
library or program's source directory. For example, typing: machine--the target). You specify a cross-debugging target by giving
the `--target=TARGET' option to `configure'.
cd gdb-4.4
configure sun4 +target=vxworks960
creates the following directories:
gdb-4.4/H-sun4/T-vxworks960
gdb-4.4/bfd/H-sun4/T-vxworks960
gdb-4.4/gdb/H-sun4/T-vxworks960
gdb-4.4/libiberty/H-sun4/T-vxworks960
gdb-4.4/readline/H-sun4/T-vxworks960
When you run `make' to build a program or library, you must run it When you run `make' to build a program or library, you must run it
in a configured directory. If you made a single configuration, in a configured directory--whatever directory you were in when you
without subdirectories, run `make' in the source directory. If you called `configure' (or one of its subdirectories).
have `H-HOST/T-TARGET' subdirectories, run `make' in those
subdirectories.
The `Makefile' generated by `configure' for each source directory The `Makefile' generated by `configure' for each source directory
runs recursively, so that typing `make' in `gdb-4.4' (or in a also runs recursively. If you type `make' in a source directory such
`gdb-4.4/H-HOST/T-TARGET' subdirectory) builds all the required as `gdb-4.4' (or in a separate configured directory configured with
libraries, then GDB. `--srcdir=PATH/gdb-4.4'), you will build all the required libraries,
then build GDB.
When you have multiple hosts or targets configured, you can run When you have multiple hosts or targets configured in separate
`make' on them in parallel (for example, if they are NFS-mounted on directories, you can run `make' on them in parallel (for example, if
each of the hosts); they will not interfere with each other. they are NFS-mounted on each of the hosts); they will not interfere
with each other.
You can also use the `+objdir=ALTROOT' option to have the
configured files placed in a parallel directory structure rather than
alongside the source files; *note configure Options::..
Specifying Names for Hosts and Targets Specifying Names for Hosts and Targets
@ -248,8 +257,9 @@ a `+target=TARGET' option, but the equivalent full name is
`sparc-sun-sunos4'. `sparc-sun-sunos4'.
The following table shows all the architectures, hosts, and OS The following table shows all the architectures, hosts, and OS
prefixes that `configure' recognizes in GDB 4.4. Entries in the "OS prefixes that `configure' recognizes in GDB version 4.4. Entries in
prefix" column ending in a `*' may be followed by a release number. the "OS prefix" column ending in a `*' may be followed by a release
number.
ARCHITECTURE VENDOR OS prefix ARCHITECTURE VENDOR OS prefix
@ -281,13 +291,13 @@ prefix" column ending in a `*' may be followed by a release number.
xmp | | xmp | |
ymp | | ymp | |
*Warning:* `configure' can represent a very large number of *Warning:* `configure' can represent a very large number of
combinations of architecture, vendor, and OS. There is by no combinations of architecture, vendor, and OS. There is by no
means support available for all possible combinations! means support available for all possible combinations!
The `configure' script accompanying GDB 4.4 does not provide any The `configure' script accompanying GDB does not provide any query
query facility to list all supported host and target names or aliases. facility to list all supported host and target names or aliases.
`configure' calls the Bourne shell script `config.sub' to map `configure' calls the Bourne shell script `config.sub' to map
abbreviations to full names; you can read the script, if you wish, or 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: you can use it to test your guesses on abbreviations--for example:
@ -304,7 +314,8 @@ you can use it to test your guesses on abbreviations--for example:
% sh config.sub i486v % sh config.sub i486v
*** Configuration "i486v" not recognized *** Configuration "i486v" not recognized
`config.sub' is also distributed in the directory `gdb-4.4'. `config.sub' is also distributed in the GDB source directory
(`gdb-4.4', for version 4.4).
`configure' Options `configure' Options
@ -313,60 +324,47 @@ you can use it to test your guesses on abbreviations--for example:
Here is a summary of all the `configure' options and arguments that Here is a summary of all the `configure' options and arguments that
you might use for building GDB: you might use for building GDB:
configure [+destdir=DIR] [+subdirs] configure [--destdir=DIR] [--srcdir=PATH]
[+objdir=ALTROOT] [+norecursion] [+rm] [--norecursion] [--rm]
[+target=TARGET...] HOST... [--target=TARGET] HOST
You may introduce options with the character `-' rather than `+' if You may introduce options with a single `-' rather than `--' if you
you prefer; but you may abbreviate option names if you use `+'. prefer; but you may abbreviate option names if you use `--'.
`+destdir=DIR' `--destdir=DIR'
DIR is an installation directory *path prefix*. After you DIR is an installation directory *path prefix*. After you
configure with this option, `make install' will install GDB as configure with this option, `make install' will install GDB as
`DIR/bin/gdb', and the libraries in `DIR/lib'. If you specify `DIR/bin/gdb', and the libraries in `DIR/lib'. If you specify
`+destdir=/usr/local', for example, `make install' creates `--destdir=/usr/local', for example, `make install' creates
`/usr/local/bin/gdb'. `/usr/local/bin/gdb'.
`+subdirs' `--srcdir=PATH'
Write configuration specific files in subdirectories of the form 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. `configure' writes
configuration specific files in the current directory, but
arranges for them to use the source in the directory PATH.
`configure' will create directories under the working directory
in parallel to the source directories below PATH.
H-HOST/T-TARGET `--norecursion'
Configure only the directory level where `configure' is executed;
do not propagate configuration to subdirectories.
(and configure the `Makefile' to generate object code in `--rm'
subdirectories of this form as well). Without this option, if you
specify only one configuration for GDB, `configure' will use the
same directory for source, configured files, and binaries. This
option is used automatically if you specify more than one HOST or
more than one `+target=TARGET' option on the `configure' command
line.
`+norecursion'
Configure only the directory where `configure' is executed; do not
propagate configuration to subdirectories.
`+objdir=ALTROOT'
ALTROOT is an alternative directory used as the root for
configured files. `configure' will create directories under
ALTROOT in parallel to the source directories. If you use
`+objdir=ALTROOT' with `+subdirs', `configure' also builds the
`H-HOST/T-TARGET' subdirectories in the directory tree rooted in
ALTROOT.
`+rm'
Remove the configuration that the other arguments specify. Remove the configuration that the other arguments specify.
`+target=TARGET ...' `--target=TARGET'
Configure GDB for cross-debugging programs running on each Configure GDB for cross-debugging programs running on the
specified TARGET. You may specify as many `+target' options as specified TARGET. Without this option, GDB is configured to debug
you wish. Without this option, GDB is configured to debug
programs that run on the same machine (HOST) as GDB itself. programs that run on the same machine (HOST) as GDB itself.
There is no convenient way to generate a list of all available There is no convenient way to generate a list of all available
targets. targets.
`HOST ...' `HOST ...'
Configure GDB to run on each specified HOST. You may specify as Configure GDB to run on the specified HOST.
many host names as you wish.
There is no convenient way to generate a list of all available There is no convenient way to generate a list of all available
hosts. hosts.
@ -378,9 +376,9 @@ affect GDB or its supporting libraries.
Languages other than C Languages other than C
C++ support has been integrated into gdb. Partial Modula-2 support is GDB provides some support for debugging C++ progams. Partial Modula-2
now in GDB. GDB should work with FORTRAN programs. (If you have support is now in GDB. GDB should work with FORTRAN programs. (If you
problems, please send a bug report; you may have to refer to some have problems, please send a bug report; you may have to refer to some
FORTRAN variables with a trailing underscore). I am not aware of FORTRAN variables with a trailing underscore). I am not aware of
anyone who is working on getting gdb to use the syntax of any other anyone who is working on getting gdb to use the syntax of any other
language. Pascal programs which use sets, subranges, file variables, language. Pascal programs which use sets, subranges, file variables,