- README for gdb-4.9 release
- Updated 10-May-93 by Fred Fish
+ README for gdb-4.13 release
+ Updated 8-Aug-94 by Fred Fish
This is GDB, the GNU source-level debugger, presently running under un*x.
A summary of new features is in the file `NEWS'.
In this release, the GDB debugger sources, the generic GNU include
files, the BFD ("binary file description") library, the readline
library, and other libraries all have directories of their own
-underneath the gdb-4.9 directory. The idea is that a variety of GNU
+underneath the gdb-4.13 directory. The idea is that a variety of GNU
tools can share a common copy of these things. Be aware of variation
over time--for example don't try to build gdb with a copy of bfd from
a release other than the gdb release (such as a binutils or gas
directory tree and automatically build all the pieces in the right
order.
-When you unpack the gdb-4.9.tar.z or gdb-4.9.tar.Z file, you'll find
-a directory called `gdb-4.9', which contains:
+When you unpack the gdb-4.13.tar.gz file, you'll find a directory
+called `gdb-4.13', which contains:
Makefile.in config.sub* glob/ opcodes/
README configure* include/ readline/
To build GDB, you can just do:
- cd gdb-4.9
+ cd gdb-4.13
./configure
make
cp gdb/gdb /usr/local/bin/gdb (or wherever you want)
******************
The GDB 4 release includes an already-formatted reference card,
-ready for printing with PostScript or GhostScript, in the `gdb'
-subdirectory of the main source directory. (In `gdb-4.9/gdb/refcard.ps'.)
-If you can use PostScript or GhostScript with your printer, you can
+ready for printing with PostScript or Ghostscript, in the `gdb'
+subdirectory of the main source directory. (In `gdb-4.13/gdb/refcard.ps'.)
+If you can use PostScript or Ghostscript with your printer, you can
print the reference card immediately with `refcard.ps'.
The release also includes the source for the reference card. You
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.9', in the case of version 4.9), you can make
+source directory (`gdb-4.13', in the case of version 4.13), you can make
the Info file by typing:
cd gdb
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.9/gdb') and then type:
+the main source directory (for example, to `gdb-4.13/gdb') and then type:
make gdb.dvi
a single directory, whose name is usually composed by appending the
version number to `gdb'.
- For example, the GDB version 4.9 distribution is in the `gdb-4.9'
+ For example, the GDB version 4.13 distribution is in the `gdb-4.13'
directory. That directory contains:
-`gdb-4.9/configure (and supporting files)'
+`gdb-4.13/configure (and supporting files)'
script for configuring GDB and all its supporting libraries.
-`gdb-4.9/gdb'
+`gdb-4.13/gdb'
the source specific to GDB itself
-`gdb-4.9/bfd'
+`gdb-4.13/bfd'
source for the Binary File Descriptor library
-`gdb-4.9/include'
+`gdb-4.13/include'
GNU include files
-`gdb-4.9/libiberty'
+`gdb-4.13/libiberty'
source for the `-liberty' free software library
-`gdb-4.9/opcodes'
+`gdb-4.13/opcodes'
source for the library of opcode tables and disassemblers
-`gdb-4.9/readline'
+`gdb-4.13/readline'
source for the GNU command-line interface
-`gdb-4.9/glob'
+`gdb-4.13/glob'
source for the GNU filename pattern-matching subroutine
-`gdb-4.9/mmalloc'
+`gdb-4.13/mmalloc'
source for the GNU memory-mapped malloc package
-'gdb-4.9/sim'
+'gdb-4.13/sim'
source for some simulators (z8000, H8/300, H8/500, etc)
The simplest way to configure and build GDB is to run `configure'
from the `gdb-VERSION-NUMBER' source directory, which in this example
-is the `gdb-4.9' directory.
+is the `gdb-4.13' 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
For example:
- cd gdb-4.9
+ cd gdb-4.13
./configure HOST
make
sh configure HOST
If you run `configure' from a directory that contains source
-directories for multiple libraries or programs, such as the `gdb-4.9'
-source directory for version 4.9, `configure' creates configuration
+directories for multiple libraries or programs, such as the `gdb-4.13'
+source directory for version 4.13, `configure' creates configuration
files for every directory level underneath (unless you tell it not to,
with the `--norecursion' option).
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.9, type the following to configure only
+ For example, with version 4.13, type the following to configure only
the `bfd' subdirectory:
- cd gdb-4.9/bfd
+ cd gdb-4.13/bfd
../configure HOST
You can install `gdb' anywhere; it has no hardwired paths. However,
argument to `--srcdir', you can leave out the `--srcdir' option; it
will be assumed.)
- For example, with version 4.9, you can build GDB in a separate
+ For example, with version 4.13, you can build GDB in a separate
directory for a Sun 4 like this:
- cd gdb-4.9
+ cd gdb-4.13
mkdir ../gdb-sun4
cd ../gdb-sun4
- ../gdb-4.9/configure sun4
+ ../gdb-4.13/configure sun4
make
When `configure' builds a configuration using a remote source
The `Makefile' that `configure' generates in each source directory
also runs recursively. If you type `make' in a source directory such
-as `gdb-4.9' (or in a separate configured directory configured with
-`--srcdir=PATH/gdb-4.9'), you will build all the required libraries,
+as `gdb-4.13' (or in a separate configured directory configured with
+`--srcdir=PATH/gdb-4.13'), you will build all the required libraries,
and then build GDB.
When you have multiple hosts or targets configured in separate
Invalid configuration `i786v': machine `i786v' not recognized
`config.sub' is also distributed in the GDB source directory
-(`gdb-4.9', for version 4.9).
+(`gdb-4.13', for version 4.13).
`configure' options
Languages other than C
=======================
-GDB provides some support for debugging C++ programs, however that support
-only works well with GNU C++, and even then only on systems that use stabs
-debugging format. In particular, cfront based compilers such as Sun's C++
-are not fully supported.
-
-GDB should work with FORTRAN programs. If you have problems, please send a
-bug report; you may have to refer to some FORTRAN variables with a trailing
-underscore.
-
-Pascal programs which use sets, subranges, file variables, or nested functions
-will not currently work.
-
-Partial Modula-2 and Chill support is now in GDB.
-
+See the GDB manual (doc/gdb.texinfo) for information on this.
Kernel debugging
=================
The correct address for reporting bugs found in gdb is
help with GDB, to that address. Please include the GDB version number
-(e.g. gdb-4.9), and how you configured it (e.g. "sun4" or "mach386
+(e.g. gdb-4.13), and how you configured it (e.g. "sun4" or "mach386
host, i586-intel-synopsys target"). If you include the banner that GDB
prints when it starts up, that will give us enough information.
30). As far as we can tell, this is a kernel problem. Any help
with this would be greatly appreciated.
- * On the SPARC GDB reports incorrect values of struct arguments to
- functions, for the seventh and subsequent arguments. We have been looking
- at this but no fix is available yet.
-
* On DECstations there are warnings about shift counts out of range in
various BFD modules. None of them is a cause for alarm, they are actually
a result of bugs in the DECstation compiler.
- * On Solaris (2.1, at least) using the "run" command when the program
- is already running restarts the program, but may leave a core dump
- from the previous execution in the current directory. Other SVR4
- based systems don't seem to have this problem, using the same gdb
- source code.
-
* Notes for the DEC Alpha using OSF/1:
The debugging output of native cc has two known problems; we view these
as compiler bugs.
It has been reported that the Ultrix 4.3A compiler on decstations has the
same problems.
- If you intend to compile gdb with gcc-2.4.5, be warned that the file
- bfd/libbfd.c will be miscompiled due to a bug in gcc, you have
- to compile this file with native cc. You will get many warnings from
- gcc while compiling gdb, but these can be ignored for now. Again, these
- problems are Alpha-specific.
+ Under some circumstances OSF/1 shared libraries do get relocated to a
+ different address, but gdb cannot handle these relocations yet. If you
+ encounter problems while debugging executables which use shared libraries,
+ try to relink your executable with the -non_shared option when using cc
+ or with the -static option when using gcc.
+
+ * Notes for Solaris 2.x, using the SPARCworks cc compiler:
+ You have to compile your program with the -xs option of the SPARCworks
+ compiler to be able to debug your program with gdb.
+ Under Solaris 2.3 you also need patch 101409-03 (Jumbo linker patch).
+ Under Solaris 2.2, if you have patch 101052 installed, make sure
+ that it is at least at revision 101052-06.
+
+ * Notes for BSD/386:
+ To compile gdb-4.13 on BSD/386, you must run the configure script and
+ its subscripts with bash. Here is an easy way to do this:
+
+ bash -c 'CONFIG_SHELL=/bin/bash ./configure'
+
+ (configure will report i386-unknown-bsd). Then, compile with the
+ standard "make" command.
GDB can produce warnings about symbols that it does not understand. By
default, these warnings are disabled. You can enable them by executing
=============
There is a dejagnu based testsuite available for testing your newly
-built gdb, or for regression testing gdb's with local modifications.
-The testsuite is distributed separately from the base gdb distribution
-for the convenience of people that wish to get either gdb or the testsuite
+built GDB, or for regression testing GDBs with local modifications.
+The testsuite is distributed separately from the base GDB distribution
+for the convenience of people that wish to get either GDB or the testsuite
separately.
-The name of the testsuite is gdb-4.9-testsuite.tar.z. You unpack it in the
-same directory in which you unpacked the base gdb distribution, and it
-will create and populate the directory gdb-4.9/gdb/testsuite.
+The name of the testsuite is gdb-4.13-testsuite.tar.gz. You unpack it in the
+same directory in which you unpacked the base GDB distribution, and it
+will create and populate the directory gdb-4.13/gdb/testsuite.
Running the testsuite requires the prior installation of dejagnu, which
should be available via ftp. Once dejagnu is installed, you can run
the tests in one of two ways:
- (1) cd gdb-4.9/gdb (assuming you also unpacked gdb)
+ (1) cd gdb-4.13/gdb (assuming you also unpacked gdb)
make check
or
- (2) cd gdb-4.9/gdb/testsuite
+ (2) cd gdb-4.13/gdb/testsuite
make (builds the test executables)
make site.exp (builds the site specific file)
runtest -tool gdb GDB=../gdb (or GDB=<somepath> as appropriate)
The second method gives you slightly more control in case of problems with
building one or more test executables, in case you wish to remove some
test executables before running the tests, or if you are using the testsuite
-'standalone', without it being part of the gdb source tree.
+'standalone', without it being part of the GDB source tree.
See the dejagnu documentation for further details.