ld/
[deliverable/binutils-gdb.git] / gdb / README
index 194c6a9113a7925cf02e6dd76920277ab003cd56..868cbb51dd89f4450ba408f8b87af1c5eb3214e7 100644 (file)
@@ -1,12 +1,18 @@
-                    README for gdb-5.1 release
-               Updated 20 October 2001 by Andrew Cagney
+                    README for gdb-6.3 release
+                    Updated 20, November, 2006
 
 This is GDB, the GNU source-level debugger.
-A summary of new features is in the file `NEWS'.
 
-See the GDB home page at http://www.gnu.org/software/gdb/ for up to
+A summary of new features is in the file `gdb/NEWS'.
+
+Check the GDB home page at http://www.gnu.org/software/gdb/ for up to
 date release information, mailing list links and archives, etc.
 
+The file `gdb/PROBLEMS' contains information on problems identified
+late in the release cycle.  GDB's bug tracking data base at
+http://www.gnu.org/software/gdb/bugs/ contains a more complete list of
+bugs.
+
 
 Unpacking and Installation -- quick overview
 ==========================
@@ -14,7 +20,7 @@ Unpacking and Installation -- quick overview
    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-5.1 directory.  The idea is that a variety of GNU
+underneath the gdb-6.3 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 release),
@@ -23,22 +29,21 @@ Configuration scripts and makefiles exist to cruise up and down this
 directory tree and automatically build all the pieces in the right
 order.
 
-   When you unpack the gdb-5.1.tar.gz file, you'll find a directory
-called `gdb-5.1', which contains:
+   When you unpack the gdb-6.3.tar.gz file, you'll find a directory
+called `gdb-6.3', which contains:
 
-  COPYING       config.sub    intl         missing         opcodes
-  COPYING.LIB   configure     libiberty    mkinstalldirs   readline
-  Makefile.in   configure.in  libtool.m4   mmalloc         sim
-  README        djunpack.bat  ltcf-c.sh    move-if-change  symlink-tree
-  bfd           etc           ltcf-cxx.sh  mpw-README      texinfo
-  config        gdb           ltcf-gcj.sh  mpw-build.in    utils
-  config-ml.in  gettext.m4    ltconfig     mpw-config.in   ylwrap
-  config.guess  include       ltmain.sh    mpw-configure
-  config.if     install-sh    md5.sum      mpw-install
+  COPYING       config-ml.in  gettext.m4   ltconfig        sim
+  COPYING.LIB   config.guess  include      ltmain.sh       src-release
+  Makefile.def  config.sub    install-sh   md5.sum         symlink-tree
+  Makefile.in   configure     libiberty    missing         texinfo
+  Makefile.tpl  configure.in  libtool.m4   mkinstalldirs   ylwrap
+  README        djunpack.bat  ltcf-c.sh    move-if-change
+  bfd           etc           ltcf-cxx.sh  opcodes
+  config        gdb           ltcf-gcj.sh  readline
 
 You can build GDB right in the source directory:
 
-      cd gdb-5.1
+      cd gdb-6.3
       ./configure
       make
       cp gdb/gdb /usr/local/bin/gdb    (or wherever you want)
@@ -52,24 +57,44 @@ You can build GDB in any empty build directory:
 
       mkdir build
       cd build
-      <full path to your sources>/gdb-5.1/configure
+      <full path to your sources>/gdb-6.3/configure
       make
       cp gdb/gdb /usr/local/bin/gdb    (or wherever you want)
 
 (Building GDB with DJGPP tools for MS-DOS/MS-Windows is slightly
-different; see the file gdb-5.1/gdb/config/djgpp/README for details.)
+different; see the file gdb-6.3/gdb/config/djgpp/README for details.)
 
    This will configure and build all the libraries as well as GDB.  If
 `configure' can't determine your system type, specify one as its
 argument, e.g., `./configure sun4' or `./configure decstation'.
 
-   If you get compiler errors during this stage, see the `Reporting
+   Make sure that your 'configure' line ends in 'gdb-6.3/configure':
+
+      /berman/migchain/source/gdb-6.3/configure      # RIGHT
+      /berman/migchain/source/gdb-6.3/gdb/configure  # WRONG
+
+   The gdb package contains several subdirectories, such as 'gdb',
+'bfd', and 'readline'.  If your 'configure' line ends in
+'gdb-6.3/gdb/configure', then you are configuring only the gdb
+subdirectory, not the whole gdb package.  This leads to build errors
+such as:
+
+      make: *** No rule to make target `../bfd/bfd.h', needed by `gdb.o'.  Stop.
+
+   If you get other compiler errors during this stage, see the `Reporting
 Bugs' section below; there are a few known problems.
 
    GDB requires an ISO C (ANSI C) compiler.  If you do not have an ISO
 C compiler for your system, you may be able to download and install
 the GNU CC compiler.  It is available via anonymous FTP from the
-directory `ftp://ftp.gnu.org/pub/gnu/gcc'.
+directory `ftp://ftp.gnu.org/pub/gnu/gcc'.  GDB also requires an ISO
+C standard library.  The GDB remote server, gdbserver, builds with some
+non-ISO standard libraries - e.g. for Windows CE.
+
+   GDB uses Expat, an XML parsing library, to implement some target-specific
+features.  Expat will be linked in if it is available at build time, or
+those features will be disabled.  The latest version of Expat should be
+available from `http://expat.sourceforge.net'.
 
    GDB can be used as a cross-debugger, running on a machine of one
 type while debugging a program running on a machine of another type.
@@ -88,7 +113,7 @@ 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/doc' subdirectory.  The main Info file is
-`gdb-5.1/gdb/doc/gdb.info', and it refers to subordinate files
+`gdb-6.3/gdb/doc/gdb.info', and it refers to subordinate files
 matching `gdb.info*' in the same directory.  If necessary, you can
 print out these files, or read them with any editor; but they are
 easier to read using the `info' subsystem in GNU Emacs or the
@@ -100,7 +125,7 @@ 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-5.1', in the case of version 5.1), you can make
+source directory (`gdb-6.3', in the case of version 6.3), you can make
 the Info file by typing:
 
       cd gdb/doc
@@ -109,7 +134,7 @@ the Info file by typing:
    If you want to typeset and print copies of this manual, you need
 TeX, a program to print its DVI output files, and `texinfo.tex', the
 Texinfo definitions file.  This file is included in the GDB
-distribution, in the directory `gdb-5.1/texinfo'.
+distribution, in the directory `gdb-6.3/texinfo'.
 
    TeX is a typesetting program; it does not print files directly, but
 produces output files called DVI files.  To print a typeset document,
@@ -123,11 +148,11 @@ without any extension or a `.dvi' extension.
 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-5.1/texinfo' directory.
+`gdb-6.3/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-5.1/gdb') and then type:
+the main source directory (for example, to `gdb-6.3/gdb') and then type:
 
       make doc/gdb.dvi
 
@@ -150,71 +175,60 @@ preparing GDB for installation; you can then use `make' to build the
 a single directory, whose name is usually composed by appending the
 version number to `gdb'.
 
-   For example, the GDB version 5.1 distribution is in the `gdb-5.1'
+   For example, the GDB version 6.3 distribution is in the `gdb-6.3'
 directory.  That directory contains:
 
-`gdb-5.1/{COPYING,COPYING.LIB}'
+`gdb-6.3/{COPYING,COPYING.LIB}'
      Standard GNU license files.  Please read them.
 
-`gdb-5.1/bfd'
+`gdb-6.3/bfd'
      source for the Binary File Descriptor library
 
-`gdb-5.1/config*'
+`gdb-6.3/config*'
      script for configuring GDB, along with other support files
 
-`gdb-5.1/gdb'
+`gdb-6.3/gdb'
      the source specific to GDB itself
 
-`gdb-5.1/include'
+`gdb-6.3/include'
      GNU include files
 
-`gdb-5.1/libiberty'
+`gdb-6.3/libiberty'
      source for the `-liberty' free software library
 
-`gdb-5.1/mmalloc'
-     source for the GNU memory-mapped malloc package
-
-`gdb-5.1/opcodes'
+`gdb-6.3/opcodes'
      source for the library of opcode tables and disassemblers
 
-`gdb-5.1/readline'
+`gdb-6.3/readline'
      source for the GNU command-line interface
      NOTE:  The readline library is compiled for use by GDB, but will
      not be installed on your system when "make install" is issued.
 
-`gdb-5.1/sim'
+`gdb-6.3/sim'
      source for some simulators (ARM, D10V, SPARC, M32R, MIPS, PPC, V850, etc)
 
-`gdb-5.1/intl'
-     source for the GNU gettext library, for internationalization.
-     This is slightly modified from the standalone gettext
-     distribution you can get from GNU.
-
-`gdb-5.1/texinfo'
+`gdb-6.3/texinfo'
      The `texinfo.tex' file, which you need in order to make a printed
      manual using TeX.
 
-`gdb-5.1/etc'
+`gdb-6.3/etc'
      Coding standards, useful files for editing GDB, and other
      miscellanea.
 
-`gdb-5.1/utils'
-     A grab bag of random utilities.
-
    Note: the following instructions are for building GDB on Unix or
 Unix-like systems.  Instructions for building with DJGPP for
 MS-DOS/MS-Windows are in the file gdb/config/djgpp/README.
 
    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-5.1' directory.
+is the `gdb-6.3' directory.
 
    First switch to the `gdb-VERSION-NUMBER' source directory if you are
 not already in it; then run `configure'.
 
    For example:
 
-      cd gdb-5.1
+      cd gdb-6.3
       ./configure
       make
 
@@ -230,8 +244,8 @@ you may need to run `sh' on it explicitly:
       sh configure
 
    If you run `configure' from a directory that contains source
-directories for multiple libraries or programs, such as the `gdb-5.1'
-source directory for version 5.1, `configure' creates configuration
+directories for multiple libraries or programs, such as the `gdb-6.3'
+source directory for version 6.3, `configure' creates configuration
 files for every directory level underneath (unless you tell it not to,
 with the `--norecursion' option).
 
@@ -239,10 +253,10 @@ 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 5.1, type the following to configure only
+   For example, with version 6.3, type the following to configure only
 the `bfd' subdirectory:
 
-      cd gdb-5.1/bfd
+      cd gdb-6.3/bfd
       ../configure
 
    You can install `gdb' anywhere; it has no hardwired paths. However,
@@ -271,13 +285,13 @@ directory.  If the path to `configure' would be the same as the
 argument to `--srcdir', you can leave out the `--srcdir' option; it
 will be assumed.)
 
-   For example, with version 5.1, you can build GDB in a separate
+   For example, with version 6.3, you can build GDB in a separate
 directory for a Sun 4 like this:
 
-     cd gdb-5.1
+     cd gdb-6.3
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-5.1/configure
+     ../gdb-6.3/configure
      make
 
    When `configure' builds a configuration using a remote source
@@ -298,8 +312,8 @@ called `configure' (or one of its subdirectories).
 
    The `Makefile' that `configure' generates in each source directory
 also runs recursively.  If you type `make' in a source directory such
-as `gdb-5.1' (or in a separate configured directory configured with
-`--srcdir=PATH/gdb-5.1'), you will build all the required libraries,
+as `gdb-6.3' (or in a separate configured directory configured with
+`--srcdir=PATH/gdb-6.3'), you will build all the required libraries,
 and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -342,7 +356,7 @@ you can use it to test your guesses on abbreviations--for example:
      Invalid configuration `i786v': machine `i786v' not recognized
 
 `config.sub' is also distributed in the GDB source directory
-(`gdb-5.1', for version 5.1).
+(`gdb-6.3', for version 6.3).
 
 
 `configure' options
@@ -422,29 +436,16 @@ prefer; but you may abbreviate option names if you use `--'.
      Same as `--host=HOST'.  If you omit this, GDB will guess; it's
      quite accurate.
 
+`--with-gdb-datadir=PATH'
+     Set the GDB-specific data directory.  GDB will look here for
+     certain supporting files or scripts.  This defaults to the `gdb'
+     subdirectory of `datadir' (which can be set using `--datadir').
+
 `configure' accepts other options, for compatibility with configuring
 other GNU tools recursively; but these are the only options that affect
 GDB or its supporting libraries.
 
 
-Host/target specific installation notes
-=======================================
-
-hppa2.0-hp-hpux10.20
-
-Due to a problem with libiberty/regex.c, GDB does not build on HP/UX
-10.20 when using the HP supplied compiler.
-
-Due to bit rot problems, GDB does not work on HP/UX 10.20 when built
-with GCC.
-
-
-hppa2.0w-hp-hpux11.00
-
-Due to a problem with ltconfig and long argument lines, GDB does not
-configure on HP/UX 11.00.
-
-
 Remote debugging
 =================
 
@@ -457,61 +458,40 @@ with the remote.c stub over a serial line.
 allows remote debugging for Unix applications.  gdbserver is only
 supported for some native configurations, including Sun 3, Sun 4, and
 Linux.
+The file gdb/gdbserver/README includes further notes on gdbserver; in
+particular, it explains how to build gdbserver for cross-debugging
+(where gdbserver runs on the target machine, which is of a different
+architecture than the host machine running GDB).
 
    There are a number of remote interfaces for talking to existing ROM
 monitors and other hardware:
 
-       remote-adapt.c   AMD 29000 "Adapt"
-       remote-array.c   Array Tech RAID controller
-       remote-bug.c     Motorola BUG monitor
-       remote-e7000.c   Hitachi E7000 ICE
-       remote-eb.c      AMD 29000 "EBMON"
-       remote-es.c      Ericsson 1800 monitor
-       remote-est.c     EST emulator
-       remote-hms.c     Hitachi Micro Systems H8/300 monitor
        remote-mips.c    MIPS remote debugging protocol
-       remote-mm.c      AMD 29000 "minimon"
-       remote-nindy.c   Intel 960 "Nindy"
-       remote-nrom.c    NetROM ROM emulator
-       remote-os9k.c    PC running OS/9000
-       remote-rdi.c     ARM with Angel monitor
-       remote-rdp.c     ARM with Demon monitor
        remote-sds.c     PowerPC SDS monitor
        remote-sim.c     Generalized simulator protocol
-       remote-st.c      Tandem ST-2000 monitor
-       remote-udi.c     AMD 29000 using the AMD "Universal Debug Interface"
-       remote-vx.c      VxWorks realtime kernel
-
-   Remote-vx.c and the vx-share subdirectory contain a remote
-interface for the VxWorks realtime kernel, which communicates over TCP
-using the Sun RPC library.  This would be a useful starting point for
-other remote- via-ethernet back ends.
-
-   Remote-udi.c and the 29k-share subdirectory contain a remote
-interface for AMD 29000 programs, which uses the AMD "Universal Debug
-Interface".  This allows GDB to talk to software simulators,
-emulators, and/or bare hardware boards, via network or serial
-interfaces.  Note that GDB only provides an interface that speaks UDI,
-not a complete solution.  You will need something on the other end
-that also speaks UDI.
-
-
-Reporting Bugs
-===============
-
-   The correct address for reporting bugs found in gdb is
-"bug-gdb@gnu.org".  Please email all bugs, and all requests for help
-with GDB, to that address.  Please include the GDB version number
-(e.g., gdb-5.1), and how you configured it (e.g., "sun4" or "mach386
-host, i586-intel-synopsys target").  Since GDB now supports so many
+
+
+Reporting Bugs in GDB
+=====================
+
+   There are several ways of reporting bugs in GDB.  The prefered
+method is to use the World Wide Web:
+
+      http://www.gnu.org/software/gdb/bugs/
+
+As an alternative, the bug report can be submitted, via e-mail, to the
+address "bug-gdb@gnu.org".
+
+   When submitting a bug, please include the GDB version number (e.g.,
+gdb-6.3), and how you configured it (e.g., "sun4" or "mach386 host,
+i586-intel-synopsys target").  Since GDB now supports so many
 different configurations, it is important that you be precise about
 this.  If at all possible, you should include the actual banner that
 GDB prints when it starts up, or failing that, the actual configure
 command that you used when configuring GDB.
 
-   For more information on how/whether to report bugs, see the GDB
-Bugs section of the GDB manual (gdb/doc/gdb.texinfo) or the
-gdb/CONTRIBUTE file.
+   For more information on how/whether to report bugs, see the
+Reporting Bugs chapter of the GDB manual (gdb/doc/gdb.texinfo).
 
 
 Graphical interface to GDB -- X Windows, MS Windows
@@ -520,7 +500,7 @@ Graphical interface to GDB -- X Windows, MS Windows
    Several graphical interfaces to GDB are available.  You should
 check:
 
-       http://sourceware.cygnus.com/gdb/#gui
+       http://www.gnu.org/software/gdb/links/
 
 for an up-to-date list.
 
@@ -554,21 +534,21 @@ regression testing a GDB with local modifications.
 
    Running the testsuite requires the prior installation of DejaGNU,
 which is generally available via ftp.  The directory
-ftp://sourceware.cygnus.com/pub/dejagnu/ will contain a recent
-snapshot.  Once DejaGNU is installed, you can run the tests in one of
-the following ways:
+ftp://sources.redhat.com/pub/dejagnu/ will contain a recent snapshot.
+Once DejaGNU is installed, you can run the tests in one of the
+following ways:
 
-  (1)  cd gdb-5.1
+  (1)  cd gdb-6.3
        make check-gdb
 
 or
 
-  (2)  cd gdb-5.1/gdb
+  (2)  cd gdb-6.3/gdb
        make check
 
 or
 
-  (3)  cd gdb-5.1/gdb/testsuite
+  (3)  cd gdb-6.3/gdb/testsuite
        make site.exp   (builds the site specific file)
        runtest -tool gdb GDB=../gdb    (or GDB=<somepath> as appropriate)
 
This page took 0.042203 seconds and 4 git commands to generate.