+Thu May 6 16:39:50 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * all-config.texi (MIPS) new switch.
+
+ * gdbinv-s.texi (Nindy Options) Remove two instances of future
+ tense; (MIPS Remote) new node.
+
+ * gdb.texinfo (passim) rephrases to work around makeinfo @value
+ bug; (Environment) less passive, other small cleanups in text about
+ .cshrc/.bashrc; (Invoking GDB) new MIPS Remote menu entry;
+ (Remote) new MIPS Remote menu entry.
+
Thu May 6 08:51:35 1993 Fred Fish (fnf@cygnus.com)
* snapshots.readme: Add notes for UNIX make and GNU make.
@ifset H8
* Hitachi Remote:: @value{GDBN} and Hitachi Microprocessors
@end ifset
+@ifset MIPS
+* MIPS Remote:: @value{GDBN} and MIPS boards
+@end ifset
@ifset SIMS
* Simulator:: Simulated CPU target
@end ifset
The arguments to your program can be specified by the arguments of the
@code{run} command. They are passed to a shell, which expands wildcard
characters and performs redirection of I/O, and thence to your program.
-@value{GDBN} uses the shell indicated by your @code{SHELL} environment
-variable if it exists; otherwise, @value{GDBN} uses @code{/bin/sh}.
+Your @code{SHELL} environment variable (if it exists) specifies what
+shell @value{GDBN} if you do not define @code{SHELL}, @value{GDBN} uses
+@code{/bin/sh}.
@code{run} with no arguments uses the same arguments used by the previous
@code{run}, or those set by the @code{set args} command.
rather than assigning it an empty value.
@end table
-One thing to be aware of is that your program is run via the shell
-indicated by your @code{SHELL} environment variable if it exists; or
-@code{/bin/sh} if not. This means that if you change any environment
-variables in a @file{.cshrc} or @file{.bashrc} file, the changes will
-affect your program. You may wish to move setting of environment
-variables to @file{.login} or @file{.profile}.
+@emph{Warning:} @value{GDBN} runs your program using the shell indicated
+by your @code{SHELL} environment variable if it exists (or
+@code{/bin/sh} if not). If your @code{SHELL} variable names a shell
+that runs an initialization file---such as @file{.cshrc} for C-shell, or
+@file{.bashrc} for BASH---any variables you set in that file will affect
+your program. You may wish to move setting of environment variables to
+files that are only run when you sign on, such as @file{.login} or
+@file{.profile}.
@node Working Directory
@section Your program's working directory
needed.
The @file{.syms} file is specific to the host machine where you run
-@value{GDBN}. It holds an exact image of the internal @value{GDB}
+@value{GDBN}. It holds an exact image of the internal @value{GDBN}
symbol table. It cannot be shared across multiple host platforms.
@c FIXME: for now no mention of directories, since this seems to be in
@ifset H8
* Hitachi Remote:: @value{GDBN} and Hitachi Microprocessors
@end ifset
+@ifset MIPS
+* MIPS Remote:: @value{GDBN} and MIPS boards
+@end ifset
@ifset SIMS
* Simulator:: Simulated CPU target
@end ifset
information output to the screen. To help you read all of it,
@value{GDBN} pauses and asks you for input at the end of each page of
output. Type @key{RET} when you want to continue the output, or @kbd{q}
-to discard the remaining output. @value{GDBN} also uses the screen
-width setting to determine when to wrap lines of output. Depending on
-what is being printed, it tries to break the line at a readable place,
+to discard the remaining output. Also, the screen width setting
+determines when to wrap lines of output. Depending on what is being
+printed, @value{GDBN} tries to break the line at a readable place,
rather than simply letting it overflow onto the following line.
Normally @value{GDBN} knows the size of the screen from the termcap data base
@quotation
@emph{Warning:} if you specify @samp{-O}, but are actually trying to
connect to a target system that expects the newer protocol, the connection
-will fail, appearing to be a speed mismatch. @value{GDBN} will repeatedly
-attempt to reconnect at several different line speeds. You can abort
+fails, appearing to be a speed mismatch. @value{GDBN} repeatedly
+attempts to reconnect at several different line speeds. You can abort
this process with an interrupt.
@end quotation
@end ifset
@end ifset
+@ifset MIPS
+@node MIPS Remote
+@subsection @value{GDBN} and remote MIPS boards
+
+@cindex MIPS boards
+@value{GDBN} can use the MIPS remote debugging protocol to talk to a
+MIPS board attached to a serial line. This is available when
+you configure @value{GDBN} with @samp{--target=mips-idt-ecoff}.
+
+@kindex target mips @var{port}
+To run a program on the board, start up @code{@value{GDBP}} with the
+name of your program as the argument. To connect to the board, use the
+command @samp{target mips @var{port}}, where @var{port} is the name of
+the serial port connected to the board. If the program has not already
+been downloaded to the board, you may use the @code{load} command to
+download it. You can then use all the usual @value{GDBN} commands.
+
+@cindex @code{remotedebug}, MIPS protocol
+@c FIXME! For this to be useful, you must know something about the MIPS
+@c FIXME...protocol. Where is it described?
+You can see some debugging information about communications with the board
+by setting the @code{remotedebug} variable. If you set it to 1 using
+@samp{set remotedebug 1} every packet will be displayed. If you set it
+to 2 every character will be displayed. You can check the current value
+at any time with the command @samp{show remotedebug}.
+
+@kindex set mipsfpu off
+@cindex MIPS remote floating point
+@cindex floating point, MIPS remote
+If your target board does not support the MIPS floating point
+coprocessor, you should use the command @samp{set mipsfpu off} (you may
+wish to put this in your @value{GDBINIT} file). This will tell
+@value{GDBN} how to find the return value of functions which return
+floating point values, and tell it to call functions on the board
+without saving the floating point registers.
+@end ifset
+
@ifset SIMS
@node Simulator
@subsection Simulated CPU target