H8/300 config, startup doc, and related mods.

This commit is contained in:
Roland Pesch 1992-03-04 01:08:47 +00:00
parent d747e0af3d
commit c7cb8acbe8
6 changed files with 246 additions and 106 deletions

View File

@ -8,6 +8,7 @@ _define__(<_COFF__>,<1>)
_define__(<_ELF__>,<1>)
_define__(<_AMD29K__>,<1>)
_define__(<_H8__>,<0>) Include this when it's stable.
_define__(<_I80386__>,<1>)
_define__(<_I960__>,<1>)
_define__(<_M680X0__>,<1>)

View File

@ -12,8 +12,9 @@ _if__(!_GENERIC__)
@settitle Using _GDBN__ v4 (_HOST__)
_fi__(!_GENERIC__)
@setchapternewpage odd
@c @smallbook
@c @cropmarks
@input smpklug.texi
@smallbook
@cropmarks
@c %**end of header
@finalout
@ -99,7 +100,7 @@ instead of in the original English.
@title Using _GDBN__
@subtitle A Guide to the GNU Source-Level Debugger
_if__(!_GENERIC__)
@subtitle On _HOST__ Systems
@subtitle on _HOST__ Systems
_fi__(!_GENERIC__)
@sp 1
@c !!set edition, date, version
@ -149,7 +150,7 @@ This is Edition 4.01, January 1992, for GDB Version _GDB_VN__.
@menu
* Summary:: Summary of _GDBN__
* New Features:: New features since _GDBN__ version 3.5
* New Features:: New features since GDB version 3.5
* Sample Session:: A Sample _GDBN__ session
* Invocation:: Getting in and out of _GDBN__
* Commands:: _GDBN__ commands
@ -168,7 +169,7 @@ This is Edition 4.01, January 1992, for GDB Version _GDB_VN__.
* Emacs:: Using _GDBN__ under GNU Emacs
* _GDBN__ Bugs:: Reporting bugs in _GDBN__
* Renamed Commands::
* Installing _GDBN__:: Installing _GDBN__
* Installing GDB:: Installing GDB
* Copying:: GNU GENERAL PUBLIC LICENSE
* Index:: Index
@ -491,7 +492,7 @@ the Modula-2 support, and contributed the Languages chapter of this
manual.
@node New Features, Sample Session, Summary, Top
@unnumbered New Features since _GDBN__ version 3.5
@unnumbered New Features since GDB version 3.5
@table @emph
@item Targets
@ -500,14 +501,14 @@ you are debugging local files, local processes, standalone systems over
a serial port, realtime systems over a TCP/IP connection, etc. The
command @code{load} can download programs into a remote system. Serial
stubs are available for Motorola 680x0 and Intel 80386 remote systems;
_GDBN__ also supports debugging realtime processes running under
GDB also supports debugging realtime processes running under
VxWorks, using SunRPC Remote Procedure Calls over TCP/IP to talk to a
debugger stub on the target system. Internally, _GDBN__ now uses a
debugger stub on the target system. Internally, GDB now uses a
function vector to mediate access to different targets; if you need to
add your own support for a remote protocol, this makes it much easier.
@item Watchpoints
_GDBN__ now sports watchpoints as well as breakpoints. You can use a
GDB now sports watchpoints as well as breakpoints. You can use a
watchpoint to stop execution whenever the value of an expression
changes, without having to predict a particular place in your program
where this may happen.
@ -517,7 +518,7 @@ Commands that issue wide output now insert newlines at places designed
to make the output more readable.
@item Object Code Formats
_GDBN__ uses a new library called the Binary File Descriptor (BFD)
GDB uses a new library called the Binary File Descriptor (BFD)
Library to permit it to switch dynamically, without reconfiguration or
recompilation, between different object-file formats. Formats currently
supported are COFF, a.out, and the Intel 960 b.out; files may be read as
@ -528,46 +529,46 @@ the other GNU binary utilities are being converted to use it.
@item Configuration and Ports
Compile-time configuration (to select a particular architecture and
operating system) is much easier. The script @code{configure} now
allows you to configure _GDBN__ as either a native debugger or a
cross-debugger. @xref{Installing _GDBN__}, for details on how to
allows you to configure GDB as either a native debugger or a
cross-debugger. @xref{Installing GDB}, for details on how to
configure and on what architectures are now available.
@item Interaction
The user interface to _GDBN__'s control variables has been simplified
The user interface to GDB's control variables has been simplified
and consolidated in two commands, @code{set} and @code{show}. Output
lines are now broken at readable places, rather than overflowing onto
the next line. You can suppress output of machine-level addresses,
displaying only source language information.
@item C++
_GDBN__ now supports C++ multiple inheritance (if used with a GCC
GDB now supports C++ multiple inheritance (if used with a GCC
version 2 compiler), and also has limited support for C++ exception
handling, with the commands @code{catch} and @code{info catch}: _GDBN__
handling, with the commands @code{catch} and @code{info catch}: GDB
can break when an exception is raised, before the stack is peeled back
to the exception handler's context.
@item Modula-2
_GDBN__ now has preliminary support for the GNU Modula-2 compiler,
GDB now has preliminary support for the GNU Modula-2 compiler,
currently under development at the State University of New York at
Buffalo. Coordinated development of both _GDBN__ and the GNU Modula-2
Buffalo. Coordinated development of both GDB and the GNU Modula-2
compiler will continue into 1992. Other Modula-2 compilers are
currently not supported, and attempting to debug programs compiled with
them will likely result in an error as the symbol table of the
executable is read in.
@item Command Rationalization
Many _GDBN__ commands have been renamed to make them easier to remember
Many GDB commands have been renamed to make them easier to remember
and use. In particular, the subcommands of @code{info} and
@code{show}/@code{set} are grouped to make the former refer to the state
of your program, and the latter refer to the state of _GDBN__ itself.
of your program, and the latter refer to the state of GDB itself.
@xref{Renamed Commands}, for details on what commands were renamed.
@item Shared Libraries
_GDBN__ 4 can debug programs and core files that use SunOS shared
GDB 4 can debug programs and core files that use SunOS shared
libraries.
@item Reference Card
_GDBN__ 4 has a reference card. @xref{Formatting Documentation} for
GDB 4 has a reference card. @xref{Formatting Documentation} for
instructions on printing it.
@item Work in Progress
@ -847,8 +848,9 @@ _1__@end smallexample
@node Invocation, Commands, Sample Session, Top
@chapter Getting In and Out of _GDBN__
Type @kbd{gdb} or @kbd{gdb @var{program} @var{core}} to start GDB
and type @kbd{quit} or @kbd{C-d} to exit.
This chapter discusses how to start _GDBN__, and how to get out of it.
(The essentials: type @samp{_GDBP__} to start GDB, and type @kbd{quit}
or @kbd{C-d} to exit.)
@menu
* Invoking _GDBN__:: Starting _GDBN__
@ -862,9 +864,21 @@ and type @kbd{quit} or @kbd{C-d} to exit.
Start _GDBN__ with the shell command @code{_GDBP__}. Once it's running,
_GDBN__ reads commands from the terminal until you tell it to exit.
You can run @code{_GDBP__} with no arguments or options; but the most
usual way to start _GDBN__ is with one argument or two, specifying an
executable program as the argument:
You can also run @code{_GDBP__} with a variety of arguments and options,
to specify more of your debugging environment at the outset.
The command-line options described here are designed
to cover a variety of situations; in some environments, some of these
options may effectively be unavailable.
_if__(_H8__)
For details on starting up _GDBP__ as a
remote debugger attached to a Hitachi H8/300 board, see @ref{Hitachi
H8/300 Remote,,_GDBN__ and the Hitachi H8/300}.
_fi__(_H8__)
The most usual way to start _GDBN__ is with one argument or two,
specifying an executable program as the argument:
@example
_GDBP__ @var{program}
@ -889,6 +903,11 @@ _GDBP__ @var{program} 1234
would attach _GDBN__ to process @code{1234} (unless you also have a file
named @file{1234}; _GDBN__ does check for a core file first).
Taking advantage of the second command-line argument requires a fairly
complete operating system; when you use _GDBN__ as a remote debugger
attached to a bare board, there may not be any notion of ``process'',
and there is often no way to get a core dump.
@noindent
You can further control how _GDBN__ starts up by using command-line
options. _GDBN__ itself can remind you of the options available.
@ -1290,10 +1309,11 @@ Many C compilers are unable to handle the @samp{-g} and @samp{-O}
options together. Using those compilers, you cannot generate optimized
executables containing debugging information.
The GNU C compiler supports @samp{-g} with or without @samp{-O}, making it
possible to debug optimized code. We recommend that you @emph{always} use
@samp{-g} whenever you compile a program. You may think your program is
correct, but there is no sense in pushing your luck.
_GCC__, the GNU C compiler, supports @samp{-g} with or without
@samp{-O}, making it possible to debug optimized code. We recommend
that you @emph{always} use @samp{-g} whenever you compile a program.
You may think your program is correct, but there is no sense in pushing
your luck.
Some things do not work as well with @samp{-g -O} as with just
@samp{-g}, particularly on machines with instruction scheduling. If in
@ -1301,7 +1321,7 @@ doubt, recompile with @samp{-g} alone, and if this fixes the problem,
please report it as a bug (including a test case!).
Older versions of the GNU C compiler permitted a variant option
@samp{-gg} for debugging information. _GDBN__ no longer supports this
@w{@samp{-gg}} for debugging information. _GDBN__ no longer supports this
format; if your GNU C compiler has this option, do not use it.
@ignore
@ -5811,6 +5831,16 @@ download @var{filename} to the 960 as well as adding its symbols in
_GDBN__.
_fi__(_I960__)
_if__(_H8__)
@cindex download to H8/300
@cindex H8/300 download
When you select remote debugging to a Hitachi H8/300 board (@pxref{Hitachi
H8/300 Remote,,_GDBN__ and the Hitachi H8/300}), the
@code{load} command downloads your program to the H8/300 and also opens
it as the current executable target for _GDBN__ on your host (like the
@code{file} command).
_fi__(_H8__)
@code{load} will not repeat if you press @key{RET} again after using it.
@item add-symbol-file @var{filename} @var{address}
@ -6047,7 +6077,7 @@ Describe a particular target, including any parameters necessary to
select it.
@end table
Here are some common targets (available, or not, depending on the _GDBN__
Here are some common targets (available, or not, depending on the GDB
configuration):
@table @code
@ -6063,7 +6093,7 @@ A core dump file. @samp{target core @var{filename}} is the same as
@item target remote @var{dev}
@kindex target remote
Remote serial target in _GDBN__-specific protocol. The argument @var{dev}
Remote serial target in GDB-specific protocol. The argument @var{dev}
specifies what serial device to use for the connection (e.g.
@file{/dev/ttya}). @xref{Remote, ,Remote Debugging}.
@ -6078,6 +6108,15 @@ name of the program to be debugged, as it appears to DOS on the PC.
@xref{EB29K Remote, ,GDB with a Remote EB29K}.
_fi__(_AMD29K__)
_if__(_H8__)
@item target hms
@kindex target hms
A Hitachi H8/300 board, attached via serial line to your host. Use
special commands @code{device} and @code{speed} to control the serial
line and the communications speed used. @xref{Hitachi H8/300
Remote,,_GDBN__ and the Hitachi H8/300}.
_fi__(_H8__)
_if__(_I960__)
@item target nindy @var{devicename}
@kindex target nindy
@ -6105,29 +6144,29 @@ _fi__(_GENERIC__)
@cindex remote debugging
If you are trying to debug a program running on a machine that cannot run
_GDBN__ in the usual way, it is often useful to use remote debugging. For
GDB in the usual way, it is often useful to use remote debugging. For
example, you might use remote debugging on an operating system kernel, or on
a small system which does not have a general purpose operating system
powerful enough to run a full-featured debugger.
Some configurations of _GDBN__ have special serial or TCP/IP interfaces
Some configurations of GDB have special serial or TCP/IP interfaces
to make this work with particular debugging targets. In addition,
_GDBN__ comes with a generic serial protocol (specific to _GDBN__, but
GDB comes with a generic serial protocol (specific to GDB, but
not specific to any particular target system) which you can use if you
write the remote stubs---the code that will run on the remote system to
communicate with _GDBN__.
communicate with GDB.
To use the _GDBN__ remote serial protocol, the program to be debugged on
To use the GDB remote serial protocol, the program to be debugged on
the remote machine needs to contain a debugging stub which talks to
_GDBN__ over the serial line. Several working remote stubs are
distributed with _GDBN__; see the @file{README} file in the _GDBN__
GDB over the serial line. Several working remote stubs are
distributed with GDB; see the @file{README} file in the GDB
distribution for more information.
For details of this communication protocol, see the comments in the
_GDBN__ source file @file{remote.c}.
GDB source file @file{remote.c}.
To start remote debugging, first run _GDBN__ and specify as an executable file
the program that is running in the remote machine. This tells _GDBN__ how
To start remote debugging, first run GDB and specify as an executable file
the program that is running in the remote machine. This tells GDB how
to find your program's symbols and the contents of its pure text. Then
establish communication using the @code{target remote} command with a device
name as an argument. For example:
@ -6147,7 +6186,7 @@ To resume the remote program and stop debugging it, use the @code{detach}
command.
Other remote targets may be available in your
configuration of _GDBN__; use @code{help targets} to list them.
configuration of GDB; use @code{help targets} to list them.
_if__(_GENERIC__)
_dnl__ Text on starting up GDB in various specific cases; it goes up front
@ -6973,11 +7012,11 @@ version number.
@item
What compiler (and its version) was used to compile _GDBN__---e.g.
``_GCC__-1.37.1''.
``_GCC__-2.0''.
@item
What compiler (and its version) was used to compile the program you
are debugging---e.g. ``_GCC__-1.37.1''.
are debugging---e.g. ``_GCC__-2.0''.
@item
The command arguments you gave the compiler to compile your example and
@ -7075,10 +7114,10 @@ things without first using the debugger to find the facts.
@include inc-hist.texi
@end iftex
@node Renamed Commands, Installing _GDBN__, _GDBN__ Bugs, Top
@node Renamed Commands, Installing GDB, _GDBN__ Bugs, Top
@appendix Renamed Commands
The following commands were renamed in _GDBN__ 4, in order to make the
The following commands were renamed in GDB 4, in order to make the
command set as a whole more consistent and easier to use and remember:
@kindex add-syms
@ -7192,39 +7231,39 @@ unset &&\rm(No longer an alias for delete)\cr
@end tex
@c END TEXI2ROFF-KILL
@node Installing _GDBN__, Copying, Renamed Commands, Top
@appendix Installing _GDBN__
@cindex configuring _GDBN__
@node Installing GDB, Copying, Renamed Commands, Top
@appendix Installing GDB
@cindex configuring GDB
@cindex installation
@iftex
@c irrelevant in info file; it's as current as the code it lives with.
@quotation
@emph{Warning:} These installation instructions are current as of
_GDBN__ version _GDB_VN__. If you're installing a more recent release
of _GDBN__, we may have improved the installation procedures since
GDB version _GDB_VN__. If you're installing a more recent release
of GDB, we may have improved the installation procedures since
printing this manual; see the @file{README} file included in your
release for the most recent instructions.
@end quotation
@end iftex
_GDBN__ comes with a @code{configure} script that automates the process
of preparing _GDBN__ for installation; you can then use @code{make} to
build the @code{_GDBP__} program.
GDB comes with a @code{configure} script that automates the process
of preparing GDB for installation; you can then use @code{make} to
build the program.
The _GDBN__ distribution includes all the source code you need for _GDBN__ in
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}.
For example, the _GDBN__ version _GDB_VN__ distribution is in the @file{gdb-_GDB_VN__}
For example, the GDB version _GDB_VN__ distribution is in the @file{gdb-_GDB_VN__}
directory. That directory contains:
@table @code
@item gdb-_GDB_VN__/configure @r{(and supporting files)}
script for configuring _GDBN__ and all its supporting libraries.
script for configuring GDB and all its supporting libraries.
@item gdb-_GDB_VN__/gdb
the source specific to _GDBN__ itself
the source specific to GDB itself
@item gdb-_GDB_VN__/bfd
source for the Binary File Descriptor Library
@ -7239,13 +7278,13 @@ source for the @samp{-liberty} free software library
source for the GNU command-line interface
@end table
The simplest way to configure and build _GDBN__ is to run @code{configure}
The simplest way to configure and build GDB is to run @code{configure}
from the @file{gdb-@var{version-number}} source directory, which in
this example is the @file{gdb-_GDB_VN__} directory.
First switch to the @file{gdb-@var{version-number}} source directory
if you are not already in it; then run @code{configure}. Pass the
identifier for the platform on which _GDBN__ will run as an
identifier for the platform on which GDB will run as an
argument.
For example:
@ -7258,7 +7297,7 @@ make
@noindent
where @var{host} is an identifier such as @samp{sun4} or
@samp{decstation}, that identifies the platform where _GDBN__ will run.
@samp{decstation}, that identifies the platform where GDB will run.
These @code{configure} and @code{make} commands build the three libraries @file{bfd},
@file{readline}, and @file{libiberty}, then @code{gdb} itself. The
@ -7280,7 +7319,7 @@ creates configuration files for every directory level underneath (unless
you tell it not to, with the @samp{--norecursion} option).
You can run the @code{configure} script from any of the
subordinate directories in the _GDBN__ distribution, if you only want to
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 _GDB_VN__, type the following to configure only
@ -7296,34 +7335,34 @@ cd gdb-_GDB_VN__/bfd
You can install @code{_GDBP__} anywhere; it has no hardwired paths.
However, you should make sure that the shell on your path (named by
the @samp{SHELL} environment variable) is publicly readable. Remember
that _GDBN__ uses the shell to start your program---some systems refuse to
let _GDBN__ debug child processes whose programs are not readable.
that GDB uses the shell to start your program---some systems refuse to
let GDB debug child processes whose programs are not readable.
@menu
* Separate Objdir:: Compiling _GDBN__ in another directory
* Separate Objdir:: Compiling GDB in another directory
* Config Names:: Specifying names for hosts and targets
* configure Options:: Summary of options for configure
* Formatting Documentation:: How to format and print _GDBN__ documentation
* Formatting Documentation:: How to format and print GDB documentation
@end menu
@node Separate Objdir, Config Names, Installing _GDBN__, Installing _GDBN__
@section Compiling _GDBN__ in Another Directory
@node Separate Objdir, Config Names, Installing GDB, Installing GDB
@section Compiling GDB in Another Directory
If you want to run _GDBN__ versions for several host or target machines,
you'll need a different @code{_GDBP__} compiled for each combination of
If you want to run GDB versions for several host or target machines,
you'll need a different @code{gdb} compiled for each combination of
host and target. @code{configure} 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} program
handles the @samp{VPATH} feature (GNU @code{make} does), running
@code{make} in each of these directories then builds the @code{_GDBP__}
@code{make} in each of these directories then builds the @code{gdb}
program specified there.
To build @code{_GDBP__} in a separate directory, run @code{configure}
To build @code{gdb} in a separate directory, run @code{configure}
with the @samp{--srcdir} option to specify where to find the source.
(Remember, you'll also need to specify a path to find @code{configure}
itself from your working directory.)
For example, with version _GDB_VN__, you can build _GDBN__ in a separate
For example, with version _GDB_VN__, you can build GDB in a separate
directory for a Sun 4 like this:
@example
@ -7340,11 +7379,11 @@ When @code{configure} 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 @file{libiberty.a} in the
directory @file{gdb-sun4/libiberty}, and _GDBN__ itself in
directory @file{gdb-sun4/libiberty}, and GDB itself in
@file{gdb-sun4/gdb}.
One popular use for building several _GDBN__ configurations in separate
directories is to configure _GDBN__ for cross-compiling (where _GDBN__
One popular use for building several GDB configurations in separate
directories is to configure GDB for cross-compiling (where GDB
runs on one machine---the host---while debugging programs that run on
another machine---the target). You specify a cross-debugging target by
giving the @samp{--target=@var{target}} option to @code{configure}.
@ -7357,14 +7396,14 @@ The @code{Makefile} generated by @code{configure} for each source
directory also runs recursively. If you type @code{make} in a source
directory such as @file{gdb-_GDB_VN__} (or in a separate configured
directory configured with @samp{--srcdir=@var{path}/gdb-_GDB_VN__}), you
will build all the required libraries, then build _GDBN__.
will build all the required libraries, then build GDB.
When you have multiple hosts or targets configured in separate
directories, you can run @code{make} on them in parallel (for example,
if they are NFS-mounted on each of the hosts); they will not interfere
with each other.
@node Config Names, configure Options, Separate Objdir, Installing _GDBN__
@node Config Names, configure Options, Separate Objdir, Installing GDB
@section Specifying Names for Hosts and Targets
The specifications used for hosts and targets in the @code{configure}
@ -7381,7 +7420,7 @@ or in a @code{--target=@var{target}} option, but the equivalent full name
is @samp{sparc-sun-sunos4}.
The following table shows all the architectures, hosts, and OS
prefixes that @code{configure} recognizes in _GDBN__ version _GDB_VN__. Entries
prefixes that @code{configure} recognizes in GDB version _GDB_VN__. Entries
in the ``OS prefix'' column ending in a @samp{*} may be followed by a
release number.
@ -7468,7 +7507,7 @@ combinations of architecture, vendor, and OS. There is by no means
support available for all possible combinations!
@end quotation
The @code{configure} script accompanying _GDBN__ does not provide
The @code{configure} script accompanying GDB does not provide
any query facility to list all supported host and target names or
aliases. @code{configure} calls the Bourne shell script
@code{config.sub} to map abbreviations to full names; you can read the
@ -7494,11 +7533,11 @@ i386-none-sysv
@code{config.sub} is also distributed in the GDB source
directory (@file{gdb-_GDB_VN__}, for version _GDB_VN__).
@node configure Options, Formatting Documentation, Config Names, Installing _GDBN__
@node configure Options, Formatting Documentation, Config Names, Installing GDB
@section @code{configure} Options
Here is a summary of all the @code{configure} options and arguments that
you might use for building _GDBN__:
you might use for building GDB:
@example
configure @r{[}--destdir=@var{dir}@r{]} @r{[}--srcdir=@var{path}@r{]}
@ -7514,14 +7553,14 @@ You may introduce options with a single @samp{-} rather than
@table @code
@item --destdir=@var{dir}
@var{dir} is an installation directory @emph{path prefix}. After you
configure with this option, @code{make install} will install _GDBN__ as
@file{@var{dir}/bin/_GDBP__}, and the libraries in @file{@var{dir}/lib}.
configure with this option, @code{make install} will install GDB as
@file{@var{dir}/bin/gdb}, and the libraries in @file{@var{dir}/lib}.
If you specify @samp{--destdir=/usr/local}, for example, @code{make
install} creates @file{/usr/local/bin/gdb}.
@item --srcdir=@var{path}
Use this option to make configurations in directories separate from the
_GDBN__ source directories. Among other things, you can use this to
GDB source directories. Among other things, you can use this to
build (or maintain) several configurations simultaneously, in separate
directories. @code{configure} writes configuration specific files in
the current directory, but arranges for them to use the source in the
@ -7538,20 +7577,20 @@ Remove the configuration that the other arguments specify.
@c This does not work (yet if ever). FIXME.
@c @item --parse=@var{lang} @dots{}
@c Configure the _GDBN__ expression parser to parse the listed languages.
@c @samp{all} configures _GDBN__ for all supported languages. To get a
@c Configure the GDB expression parser to parse the listed languages.
@c @samp{all} configures GDB for all supported languages. To get a
@c list of all supported languages, omit the argument. Without this
@c option, _GDBN__ is configured to parse all supported languages.
@c option, GDB is configured to parse all supported languages.
@item --target=@var{target}
Configure _GDBN__ for cross-debugging programs running on the specified
@var{target}. Without this option, _GDBN__ is configured to debug
programs that run on the same machine (@var{host}) as _GDBN__ itself.
Configure GDB for cross-debugging programs running on the specified
@var{target}. Without this option, GDB is configured to debug
programs that run on the same machine (@var{host}) as GDB itself.
There is no convenient way to generate a list of all available targets.
@item @var{host} @dots{}
Configure _GDBN__ to run on the specified @var{host}.
Configure GDB to run on the specified @var{host}.
There is no convenient way to generate a list of all available hosts.
@end table
@ -7559,12 +7598,12 @@ There is no convenient way to generate a list of all available hosts.
@noindent
@code{configure} accepts other options, for compatibility with
configuring other GNU tools recursively; but these are the only
options that affect _GDBN__ or its supporting libraries.
options that affect GDB or its supporting libraries.
@node Formatting Documentation, , configure Options, Installing _GDBN__
@node Formatting Documentation, , configure Options, Installing GDB
@section Formatting the Documentation
All the documentation for _GDBN__, including this manual, comes as part of
All the documentation for GDB, including this manual, comes as part of
the 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
@ -7572,7 +7611,7 @@ one of the Info formatting commands to create the on-line version of
the documentation and @TeX{} (or @code{texi2roff}) to typeset the
printed version.
_GDBN__ includes an already formatted copy of the on-line Info version of
GDB includes an already formatted copy of the on-line Info version of
this manual in the @file{gdb} subdirectory. The main Info file is
@file{gdb-@var{version-number}/gdb/gdb.info}, and it refers to
subordinate files matching @samp{gdb.info*} in the same directory.
@ -7581,7 +7620,7 @@ If you want to format these Info files yourself, you need one of the
Info formatting programs, such as @code{texinfo-format-buffer} or
@code{makeinfo}.
If you have @code{makeinfo} installed, and are in the top level _GDBN__
If you have @code{makeinfo} installed, and are in the top level GDB
source directory (@file{gdb-_GDB_VN__}, in the case of version _GDB_VN__), you can
make the Info file by typing:
@ -7605,7 +7644,7 @@ without any extension or a @samp{.dvi} extension.
@TeX{} also requires a macro definitions file called
@file{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. @file{texinfo.tex} is distributed with _GDBN__
typeset a Texinfo file. @file{texinfo.tex} is distributed with GDB
and is located in the @file{gdb-@var{version-number}/texinfo}
directory.
@ -7618,16 +7657,16 @@ subdirectory of the main source directory (for example, to
make gdb.dvi
@end example
@cindex _GDBN__ reference card
@cindex GDB reference card
@cindex reference card
In addition to the manual, the _GDBN__ 4 release includes a three-column
reference card. Format the _GDBN__ reference card by typing:
In addition to the manual, the GDB 4 release includes a three-column
reference card. Format the GDB reference card by typing:
@example
make refcard.dvi
@end example
The _GDBN__ 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
high. You will need to specify this form of printing as an option to
your @sc{dvi} output program.
@ -7639,7 +7678,7 @@ subdirectory of the main source directory---in
a PostScript or GhostScript printer, you can print the reference card
by just sending @file{refcard.ps} to the printer.
@node Copying, Index, Installing _GDBN__, Top
@node Copying, Index, Installing GDB, Top
@unnumbered GNU GENERAL PUBLIC LICENSE
@center Version 2, June 1991

View File

@ -11,3 +11,7 @@ _fi__(_AMD29K__)
_if__(_VXWORKS__)
* VxWorks Remote:: _GDBN__ and VxWorks
_fi__(_VXWORKS__)
_if__(_H8__)
* Hitachi H8/300 Remote:: _GDBN__ and the Hitachi H8/300
_fi__(_H8__)

View File

@ -43,7 +43,7 @@ session. @xref{Target Commands, ,Commands for Managing Targets}.
@node Nindy Startup, Nindy Options, i960-Nindy Remote, i960-Nindy Remote
@subsubsection Startup with Nindy
If you simply start @code{_GDBN__} without using any command-line
If you simply start @code{_GDBP__} without using any command-line
options, you are prompted for what serial port to use, @emph{before} you
reach the ordinary _GDBN__ prompt:
@ -452,3 +452,88 @@ where @var{task} is the VxWorks hexadecimal task ID. The task can be running
or suspended when you attach to it. If running, it will be suspended at
the time of attachment.
_fi__(_VXWORKS__)
_if__(_H8__)
_if__(!_GENERIC__)
@node Hitachi H8/300 Remote, , VxWorks Remote, Starting _GDBN__
_fi__(!_GENERIC__)
_if__(_GENERIC__)
@node Hitachi H8/300 Remote, , VxWorks Remote, Remote
_fi__(_GENERIC__)
@subsection _GDBN__ and the Hitachi H8/300
_GDBN__ needs to know three things to talk to your H8/300:
@enumerate
@item
that you want to use @samp{target hms}, the remote debugging
interface for the H8/300 (this is the default for @code{gdb83}, the
version of GDB configured specifically for the H8/300);
@item
what serial device connects your host to your H8/300 (the first serial
device available on your host is the default);
@item
what speed to use over the serial device.
@end enumerate
@kindex device
@cindex serial device for H8/300
Use the special @code{gdb83} command @samp{device @var{port}} if you need to
explicitly set the serial device. The default @var{port} is the first
available port on your host; on Unix hosts, this is typically something
like @file{/dev/ttya}, and on DOS hosts @file{com1}.
@kindex speed
@cindex serial line speed for H8/300
@code{gdb83} has another special command to set the communications speed
for the H8/300: @samp{speed @var{bps}}.
For example, you might start an H8/300 debugging session at 19200 bps
like this (exploiting the default target and device):
@smallexample
$ gdb83
@c FIXME: this falsifies the exact text played out, to permit smallbook
@c FIXME... format to come out better.
GDB is free software and you are welcome to distribute copies
of it under certain conditions; type "show copying" to see
the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB _GDB_VN__, Copyright 1992 Free Software Foundation, Inc.
(gdb83) speed 19200
Remote debugging on an H8/300 HMS via /dev/ttya.
Checking target is in sync
Sending commands to set target to 19200
(gdb83)
@end smallexample
@noindent
To download your program and make it the current _GDBN__ target, use the
@code{load} command:
@example
(gdb83) load smain
.text: 8000 .. 9d92 ****
.data: 9d92 .. 9e34 *
(gdb83)
@end example
@noindent
While downloading the program (@samp{smain} in this example), _GDBN__
displays the names of the program's sections, and a @samp{*} for each 2K
of data downloaded. (If you want to refresh _GDBN__ data on symbols or
on the executable file without downloading, use the _GDBN__ commands
@code{file} or @code{symbol-file}. These commands, and @code{load}
itself, are described in @ref{Files,,Commands to Specify Files}.)
All the standard _GDBN__ facilities are at your disposal for controlling
the program on the H8/300; you can start the program with @code{run},
set breakpoints with @code{break}, display data with @code{print} or
@code{x}, and so on.
Remember, however, that @emph{operating system} facilities aren't
available on your H8/300; for example, if your program hangs, you can't
send an interrupt---but you can press the @sc{reset} switch! _GDBN__
will see the effect of a @sc{reset} on the H8/300 board as a ``normal
exit'' of your program.
_fi__(_H8__)

10
gdb/doc/h8.m4 Normal file
View File

@ -0,0 +1,10 @@
_divert__(-1)
_define__(<_H8__>,<1>)
_define__(<_GENERIC__>,<0>)
_define__(<_AS__>,<as83>)
_define__(<_GCC__>,<gcc83>)
_define__(<_LD__>,<ld83>)
_define__(<_GDBP__>,<gdb83>)
_define__(<_GDBN__>,<GDB83>)
_define__(<_HOST__>,<Hitachi H8/300>)
_divert__<>

View File

@ -18,6 +18,7 @@ _define__(<_COFF__>,<0>)
_define__(<_ELF__>,<0>)
_define__(<_AMD29K__>,<0>) Specific architectures. Note none
_define__(<_H8__>,<0>)
_define__(<_I80386__>,<0>) starts out on.
_define__(<_I960__>,<0>)
_define__(<_M680X0__>,<0>)