Update the 'g' packet documentation
[binutils-gdb.git] / gdb / doc / gdb.texinfo
index 7b128053b5ab5cb236fb17d16f4343738c5affe3..3642828eb0ed00922a577f56ce71b067be31ff45 100644 (file)
@@ -1621,7 +1621,7 @@ just use the @code{shell} command.
 @cindex shell escape
 @item shell @var{command-string}
 @itemx !@var{command-string}
-Invoke a standard shell to execute @var{command-string}.
+Invoke a shell to execute @var{command-string}.
 Note that no space is needed between @code{!} and @var{command-string}.
 On GNU and Unix systems, the environment variable @env{SHELL}, if it
 exists, determines which shell to run.  Otherwise @value{GDBN} uses
@@ -1629,6 +1629,10 @@ the default shell (@file{/bin/sh} on GNU and Unix systems,
 @file{cmd.exe} on MS-Windows, @file{COMMAND.COM} on MS-DOS, etc.).
 @end table
 
+You may also invoke shell commands from expressions, using the
+@code{$_shell} convenience function.  @xref{$_shell convenience
+function}.
+
 The utility @code{make} is often needed in development environments.
 You do not have to use the @code{shell} command for this purpose in
 @value{GDBN}:
@@ -3384,6 +3388,7 @@ Added inferior 2.
 
 You can now simply switch focus to inferior 2 and run it.
 
+@anchor{remove_inferiors_cli}
 @kindex remove-inferiors
 @item remove-inferiors @var{infno}@dots{}
 Removes the inferior or inferiors @var{infno}@dots{}.  It is not
@@ -11759,6 +11764,14 @@ When @value{GDBN} starts, this limit is set to 200.
 Setting @var{number-of-elements} to @code{unlimited} or zero means
 that the number of elements to print is unlimited.
 
+When printing very large arrays, whose size is greater than
+@code{max-value-size} (@pxref{set max-value-size,,max-value-size}),
+if the @code{print elements} is set such that the size of the elements
+being printed is less than or equal to @code{max-value-size}, then
+@value{GDBN} will print the array (up to the @code{print elements} limit),
+and only @code{max-value-size} worth of data will be added into the value
+history (@pxref{Value History, ,Value History}).
+
 @item show print elements
 Display the number of elements of a large array that @value{GDBN} will print.
 
@@ -12824,8 +12837,8 @@ These functions do not require @value{GDBN} to be configured with
 
 @table @code
 
-@item $_isvoid (@var{expr})
 @findex $_isvoid@r{, convenience function}
+@item $_isvoid (@var{expr})
 Return one if the expression @var{expr} is @code{void}.  Otherwise it
 returns zero.
 
@@ -12880,8 +12893,8 @@ $3 = void
 $4 = 1
 @end smallexample
 
-@item $_gdb_setting_str (@var{setting})
 @findex $_gdb_setting_str@r{, convenience function}
+@item $_gdb_setting_str (@var{setting})
 Return the value of the @value{GDBN} @var{setting} as a string.
 @var{setting} is any setting that can be used in a @code{set} or
 @code{show} command (@pxref{Controlling GDB}).
@@ -12896,8 +12909,8 @@ $2 = "30"
 (@value{GDBP})
 @end smallexample
 
-@item $_gdb_setting (@var{setting})
 @findex $_gdb_setting@r{, convenience function}
+@item $_gdb_setting (@var{setting})
 Return the value of the @value{GDBN} @var{setting}.
 The type of the returned value depends on the setting.
 
@@ -12959,16 +12972,70 @@ Other setting types (enum, filename, optional filename, string, string noescape)
 are returned as string values.
 
 
-@item $_gdb_maint_setting_str (@var{setting})
 @findex $_gdb_maint_setting_str@r{, convenience function}
+@item $_gdb_maint_setting_str (@var{setting})
 Like the @code{$_gdb_setting_str} function, but works with
 @code{maintenance set} variables.
 
-@item $_gdb_maint_setting (@var{setting})
 @findex $_gdb_maint_setting@r{, convenience function}
+@item $_gdb_maint_setting (@var{setting})
 Like the @code{$_gdb_setting} function, but works with
 @code{maintenance set} variables.
 
+@anchor{$_shell convenience function}
+@findex $_shell@r{, convenience function}
+@item $_shell (@var{command-string})
+
+Invoke a shell to execute @var{command-string}.  @var{command-string}
+must be a string.  The shell runs on the host machine, the machine
+@value{GDBN} is running on.  Returns the command's exit status.  On
+Unix systems, a command which exits with a zero exit status has
+succeeded, and non-zero exit status indicates failure.  When a command
+terminates on a fatal signal whose number is @var{N}, @value{GDBN}
+uses the value 128+@var{N} as the exit status, as is standard in Unix
+shells.  Note that @var{N} is a host signal number, not a target
+signal number.  If you're native debugging, they will be the same, but
+if cross debugging, the host vs target signal numbers may be
+completely unrelated.  Please consult your host operating system's
+documentation for the mapping between host signal numbers and signal
+names.  The shell to run is determined in the same way as for the
+@code{shell} command.  @xref{Shell Commands, ,Shell Commands}.
+
+@smallexample
+(@value{GDBP}) print $_shell("true")
+$1 = 0
+(@value{GDBP}) print $_shell("false")
+$2 = 1
+(@value{GDBP}) p $_shell("echo hello")
+hello
+$3 = 0
+(@value{GDBP}) p $_shell("foobar")
+bash: line 1: foobar: command not found
+$4 = 127
+@end smallexample
+
+This may also be useful in breakpoint conditions.  For example:
+
+@smallexample
+(@value{GDBP}) break function if $_shell("some command") == 0
+@end smallexample
+
+In this scenario, you'll want to make sure that the shell command you
+run in the breakpoint condition takes the least amount of time
+possible.  For example, avoid running a command that may block
+indefinitely, or that sleeps for a while before exiting.  Prefer a
+command or script which analyzes some state and exits immediately.
+This is important because the debugged program stops for the
+breakpoint every time, and then @value{GDBN} evaluates the breakpoint
+condition.  If the condition is false, the program is re-resumed
+transparently, without informing you of the stop.  A quick shell
+command thus avoids significantly slowing down the debugged program
+unnecessarily.
+
+Note: unlike the @code{shell} command, the @code{$_shell} convenience
+function does not affect the @code{$_shell_exitcode} and
+@code{$_shell_exitsignal} convenience variables.
+
 @end table
 
 The following functions require @value{GDBN} to be configured with
@@ -12976,30 +13043,30 @@ The following functions require @value{GDBN} to be configured with
 
 @table @code
 
-@item $_memeq(@var{buf1}, @var{buf2}, @var{length})
 @findex $_memeq@r{, convenience function}
+@item $_memeq(@var{buf1}, @var{buf2}, @var{length})
 Returns one if the @var{length} bytes at the addresses given by
 @var{buf1} and @var{buf2} are equal.
 Otherwise it returns zero.
 
-@item $_regex(@var{str}, @var{regex})
 @findex $_regex@r{, convenience function}
+@item $_regex(@var{str}, @var{regex})
 Returns one if the string @var{str} matches the regular expression
 @var{regex}.  Otherwise it returns zero.
 The syntax of the regular expression is that specified by @code{Python}'s
 regular expression support.
 
-@item $_streq(@var{str1}, @var{str2})
 @findex $_streq@r{, convenience function}
+@item $_streq(@var{str1}, @var{str2})
 Returns one if the strings @var{str1} and @var{str2} are equal.
 Otherwise it returns zero.
 
-@item $_strlen(@var{str})
 @findex $_strlen@r{, convenience function}
+@item $_strlen(@var{str})
 Returns the length of string @var{str}.
 
-@item $_caller_is(@var{name}@r{[}, @var{number_of_frames}@r{]})
 @findex $_caller_is@r{, convenience function}
+@item $_caller_is(@var{name}@r{[}, @var{number_of_frames}@r{]})
 Returns one if the calling function's name is equal to @var{name}.
 Otherwise it returns zero.
 
@@ -13025,8 +13092,8 @@ $1 = 1
 $1 = 1
 @end smallexample
 
-@item $_caller_matches(@var{regexp}@r{[}, @var{number_of_frames}@r{]})
 @findex $_caller_matches@r{, convenience function}
+@item $_caller_matches(@var{regexp}@r{[}, @var{number_of_frames}@r{]})
 Returns one if the calling function's name matches the regular expression
 @var{regexp}.  Otherwise it returns zero.
 
@@ -13034,8 +13101,8 @@ If the optional argument @var{number_of_frames} is provided,
 it is the number of frames up in the stack to look.
 The default is 1.
 
-@item $_any_caller_is(@var{name}@r{[}, @var{number_of_frames}@r{]})
 @findex $_any_caller_is@r{, convenience function}
+@item $_any_caller_is(@var{name}@r{[}, @var{number_of_frames}@r{]})
 Returns one if any calling function's name is equal to @var{name}.
 Otherwise it returns zero.
 
@@ -13048,8 +13115,8 @@ checks all stack frames from the immediate caller to the frame specified
 by @var{number_of_frames}, whereas @code{$_caller_is} only checks the
 frame specified by @var{number_of_frames}.
 
-@item $_any_caller_matches(@var{regexp}@r{[}, @var{number_of_frames}@r{]})
 @findex $_any_caller_matches@r{, convenience function}
+@item $_any_caller_matches(@var{regexp}@r{[}, @var{number_of_frames}@r{]})
 Returns one if any calling function's name matches the regular expression
 @var{regexp}.  Otherwise it returns zero.
 
@@ -13062,8 +13129,8 @@ checks all stack frames from the immediate caller to the frame specified
 by @var{number_of_frames}, whereas @code{$_caller_matches} only checks the
 frame specified by @var{number_of_frames}.
 
-@item $_as_string(@var{value})
 @findex $_as_string@r{, convenience function}
+@item $_as_string(@var{value})
 Return the string representation of @var{value}.
 
 This function is useful to obtain the textual label (enumerator) of an
@@ -13075,10 +13142,10 @@ an enumerated type:
 Visiting node of type NODE_INTEGER
 @end smallexample
 
-@item $_cimag(@var{value})
-@itemx $_creal(@var{value})
 @findex $_cimag@r{, convenience function}
 @findex $_creal@r{, convenience function}
+@item $_cimag(@var{value})
+@itemx $_creal(@var{value})
 Return the imaginary (@code{$_cimag}) or real (@code{$_creal}) part of
 the complex number @var{value}.
 
@@ -14174,6 +14241,7 @@ may indicate a value that is incorrectly large, this in turn may cause
 @value{GDBN} to try and allocate an overly large amount of memory.
 
 @table @code
+@anchor{set max-value-size}
 @kindex set max-value-size
 @item set max-value-size @var{bytes}
 @itemx set max-value-size unlimited
@@ -24260,15 +24328,15 @@ The debugging stub for your architecture supplies these three
 subroutines:
 
 @table @code
-@item set_debug_traps
 @findex set_debug_traps
+@item set_debug_traps
 @cindex remote serial stub, initialization
 This routine arranges for @code{handle_exception} to run when your
 program stops.  You must call this subroutine explicitly in your
 program's startup code.
 
-@item handle_exception
 @findex handle_exception
+@item handle_exception
 @cindex remote serial stub, main routine
 This is the central workhorse, but your program never calls it
 explicitly---the setup code arranges for @code{handle_exception} to
@@ -24315,14 +24383,14 @@ First of all you need to tell the stub how to communicate with the
 serial port.
 
 @table @code
-@item int getDebugChar()
 @findex getDebugChar
+@item int getDebugChar()
 Write this subroutine to read a single character from the serial port.
 It may be identical to @code{getchar} for your target system; a
 different name is used to allow you to distinguish the two if you wish.
 
-@item void putDebugChar(int)
 @findex putDebugChar
+@item void putDebugChar(int)
 Write this subroutine to write a single character to the serial port.
 It may be identical to @code{putchar} for your target system; a
 different name is used to allow you to distinguish the two if you wish.
@@ -24344,8 +24412,8 @@ is to just execute a breakpoint instruction (the ``dirty'' part is that
 Other routines you need to supply are:
 
 @table @code
-@item void exceptionHandler (int @var{exception_number}, void *@var{exception_address})
 @findex exceptionHandler
+@item void exceptionHandler (int @var{exception_number}, void *@var{exception_address})
 Write this function to install @var{exception_address} in the exception
 handling tables.  You need to do this because the stub does not have any
 way of knowing what the exception handling tables on your target system
@@ -24366,8 +24434,8 @@ should be at privilege level 0 (the most privileged level).  The
 @sc{sparc} and 68k stubs are able to mask interrupts themselves without
 help from @code{exceptionHandler}.
 
-@item void flush_i_cache()
 @findex flush_i_cache
+@item void flush_i_cache()
 On @sc{sparc} and @sc{sparclite} only, write this subroutine to flush the
 instruction cache, if any, on your target machine.  If there is no
 instruction cache, this subroutine may be a no-op.
@@ -24380,8 +24448,8 @@ function to make certain that the state of your program is stable.
 You must also make sure this library routine is available:
 
 @table @code
-@item void *memset(void *, int, int)
 @findex memset
+@item void *memset(void *, int, int)
 This is the standard library function @code{memset} that sets an area of
 memory to a known value.  If you have one of the free versions of
 @code{libc.a}, @code{memset} can be found there; otherwise, you must
@@ -31068,8 +31136,8 @@ In addition to a number of out-of-band notifications, the response to a
 The synchronous operation was successful, @code{@var{results}} are the return
 values.
 
-@item "^running"
 @findex ^running
+@item "^running"
 This result record is equivalent to @samp{^done}.  Historically, it
 was output instead of @samp{^done} if the command has resumed the
 target.  This behaviour is maintained for backward compatibility, but
@@ -31077,12 +31145,12 @@ all frontends should treat @samp{^done} and @samp{^running}
 identically and rely on the @samp{*running} output record to determine
 which threads are resumed.
 
-@item "^connected"
 @findex ^connected
+@item "^connected"
 @value{GDBN} has connected to a remote target.
 
-@item "^error" "," "msg=" @var{c-string} [ "," "code=" @var{c-string} ]
 @findex ^error
+@item "^error" "," "msg=" @var{c-string} [ "," "code=" @var{c-string} ]
 The operation failed.  The @code{msg=@var{c-string}} variable contains
 the corresponding error message.
 
@@ -31095,8 +31163,8 @@ error condition.  At present, only one error code is defined:
 Indicates that the command causing the error does not exist.
 @end table
 
-@item "^exit"
 @findex ^exit
+@item "^exit"
 @value{GDBN} has terminated.
 
 @end table
@@ -31752,8 +31820,8 @@ not been implemented yet and these are labeled N.A.@: (not available).
 This section documents @sc{gdb/mi} commands for manipulating
 breakpoints.
 
-@subheading The @code{-break-after} Command
 @findex -break-after
+@subheading The @code{-break-after} Command
 
 @subsubheading Synopsis
 
@@ -31799,12 +31867,12 @@ line="5",thread-groups=["i1"],times="0",ignore="3"@}]@}
 @end smallexample
 
 @ignore
-@subheading The @code{-break-catch} Command
 @findex -break-catch
+@subheading The @code{-break-catch} Command
 @end ignore
 
-@subheading The @code{-break-commands} Command
 @findex -break-commands
+@subheading The @code{-break-commands} Command
 
 @subsubheading Synopsis
 
@@ -31838,8 +31906,8 @@ times="0"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-break-condition} Command
 @findex -break-condition
+@subheading The @code{-break-condition} Command
 
 @subsubheading Synopsis
 
@@ -31880,8 +31948,8 @@ line="5",cond="1",thread-groups=["i1"],times="0",ignore="3"@}]@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-break-delete} Command
 @findex -break-delete
+@subheading The @code{-break-delete} Command
 
 @subsubheading Synopsis
 
@@ -31915,8 +31983,8 @@ body=[]@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-break-disable} Command
 @findex -break-disable
+@subheading The @code{-break-disable} Command
 
 @subsubheading Synopsis
 
@@ -31952,8 +32020,8 @@ line="5",thread-groups=["i1"],times="0"@}]@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-break-enable} Command
 @findex -break-enable
+@subheading The @code{-break-enable} Command
 
 @subsubheading Synopsis
 
@@ -31988,8 +32056,8 @@ line="5",thread-groups=["i1"],times="0"@}]@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-break-info} Command
 @findex -break-info
+@subheading The @code{-break-info} Command
 
 @subsubheading Synopsis
 
@@ -32011,9 +32079,9 @@ The corresponding @value{GDBN} command is @samp{info break @var{breakpoint}}.
 @subsubheading Example
 N.A.
 
-@subheading The @code{-break-insert} Command
 @findex -break-insert
 @anchor{-break-insert}
+@subheading The @code{-break-insert} Command
 
 @subsubheading Synopsis
 
@@ -32134,8 +32202,8 @@ times="0"@}]@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-dprintf-insert} Command
 @findex -dprintf-insert
+@subheading The @code{-dprintf-insert} Command
 
 @subsubheading Synopsis
 
@@ -32208,8 +32276,8 @@ original-location="mi-dprintf.c:26"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-break-list} Command
 @findex -break-list
+@subheading The @code{-break-list} Command
 
 @subsubheading Synopsis
 
@@ -32284,8 +32352,8 @@ body=[]@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-break-passcount} Command
 @findex -break-passcount
+@subheading The @code{-break-passcount} Command
 
 @subsubheading Synopsis
 
@@ -32298,8 +32366,8 @@ Set the passcount for tracepoint @var{tracepoint-number} to
 is not a tracepoint, error is emitted.  This corresponds to CLI
 command @samp{passcount}.
 
-@subheading The @code{-break-watch} Command
 @findex -break-watch
+@subheading The @code{-break-watch} Command
 
 @subsubheading Synopsis
 
@@ -32467,8 +32535,8 @@ catchpoints.
 @node Shared Library GDB/MI Catchpoint Commands
 @subsection Shared Library @sc{gdb/mi} Catchpoints
 
-@subheading The @code{-catch-load} Command
 @findex -catch-load
+@subheading The @code{-catch-load} Command
 
 @subsubheading Synopsis
 
@@ -32497,8 +32565,8 @@ what="load of library matching foo.so",catch-type="load",times="0"@}
 @end smallexample
 
 
-@subheading The @code{-catch-unload} Command
 @findex -catch-unload
+@subheading The @code{-catch-unload} Command
 
 @subsubheading Synopsis
 
@@ -32531,8 +32599,8 @@ what="load of library matching bar.so",catch-type="unload",times="0"@}
 The following @sc{gdb/mi} commands can be used to create catchpoints
 that stop the execution when Ada exceptions are being raised.
 
-@subheading The @code{-catch-assert} Command
 @findex -catch-assert
+@subheading The @code{-catch-assert} Command
 
 @subsubheading Synopsis
 
@@ -32568,8 +32636,8 @@ original-location="__gnat_debug_raise_assert_failure"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-catch-exception} Command
 @findex -catch-exception
+@subheading The @code{-catch-exception} Command
 
 @subsubheading Synopsis
 
@@ -32617,8 +32685,8 @@ times="0",original-location="__gnat_debug_raise_exception"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-catch-handlers} Command
 @findex -catch-handlers
+@subheading The @code{-catch-handlers} Command
 
 @subsubheading Synopsis
 
@@ -32668,8 +32736,8 @@ The following @sc{gdb/mi} commands can be used to create catchpoints
 that stop the execution when C@t{++} exceptions are being throw, rethrown,
 or caught.
 
-@subheading The @code{-catch-throw} Command
 @findex -catch-throw
+@subheading The @code{-catch-throw} Command
 
 @subsubheading Synopsis
 
@@ -32712,8 +32780,8 @@ and @samp{tcatch throw} (@pxref{Set Catchpoints}).
 (gdb)
 @end smallexample
 
-@subheading The @code{-catch-rethrow} Command
 @findex -catch-rethrow
+@subheading The @code{-catch-rethrow} Command
 
 @subsubheading Synopsis
 
@@ -32756,8 +32824,8 @@ and @samp{tcatch rethrow} (@pxref{Set Catchpoints}).
 (gdb)
 @end smallexample
 
-@subheading The @code{-catch-catch} Command
 @findex -catch-catch
+@subheading The @code{-catch-catch} Command
 
 @subsubheading Synopsis
 
@@ -32804,8 +32872,8 @@ and @samp{tcatch catch} (@pxref{Set Catchpoints}).
 @node GDB/MI Program Context
 @section @sc{gdb/mi}  Program Context
 
-@subheading The @code{-exec-arguments} Command
 @findex -exec-arguments
+@subheading The @code{-exec-arguments} Command
 
 
 @subsubheading Synopsis
@@ -32832,8 +32900,8 @@ The corresponding @value{GDBN} command is @samp{set args}.
 
 
 @ignore
-@subheading The @code{-exec-show-arguments} Command
 @findex -exec-show-arguments
+@subheading The @code{-exec-show-arguments} Command
 
 @subsubheading Synopsis
 
@@ -32852,8 +32920,8 @@ N.A.
 @end ignore
 
 
-@subheading The @code{-environment-cd} Command
 @findex -environment-cd
+@subheading The @code{-environment-cd} Command
 
 @subsubheading Synopsis
 
@@ -32877,8 +32945,8 @@ The corresponding @value{GDBN} command is @samp{cd}.
 @end smallexample
 
 
-@subheading The @code{-environment-directory} Command
 @findex -environment-directory
+@subheading The @code{-environment-directory} Command
 
 @subsubheading Synopsis
 
@@ -32926,8 +32994,8 @@ The corresponding @value{GDBN} command is @samp{dir}.
 @end smallexample
 
 
-@subheading The @code{-environment-path} Command
 @findex -environment-path
+@subheading The @code{-environment-path} Command
 
 @subsubheading Synopsis
 
@@ -32974,8 +33042,8 @@ The corresponding @value{GDBN} command is @samp{path}.
 @end smallexample
 
 
-@subheading The @code{-environment-pwd} Command
 @findex -environment-pwd
+@subheading The @code{-environment-pwd} Command
 
 @subsubheading Synopsis
 
@@ -33003,8 +33071,8 @@ The corresponding @value{GDBN} command is @samp{pwd}.
 @section @sc{gdb/mi} Thread Commands
 
 
-@subheading The @code{-thread-info} Command
 @findex -thread-info
+@subheading The @code{-thread-info} Command
 
 @subsubheading Synopsis
 
@@ -33057,8 +33125,8 @@ current-thread-id="1"
 (gdb)
 @end smallexample
 
-@subheading The @code{-thread-list-ids} Command
 @findex -thread-list-ids
+@subheading The @code{-thread-list-ids} Command
 
 @subsubheading Synopsis
 
@@ -33088,8 +33156,8 @@ current-thread-id="1",number-of-threads="3"
 @end smallexample
 
 
-@subheading The @code{-thread-select} Command
 @findex -thread-select
+@subheading The @code{-thread-select} Command
 
 @subsubheading Synopsis
 
@@ -33135,8 +33203,8 @@ args=[@{name="format",value="0x8048e9c \"%*s%c %d %c\\n\""@},
 @node GDB/MI Ada Tasking Commands
 @section @sc{gdb/mi} Ada Tasking Commands
 
-@subheading The @code{-ada-task-info} Command
 @findex -ada-task-info
+@subheading The @code{-ada-task-info} Command
 
 @subsubheading Synopsis
 
@@ -33218,8 +33286,8 @@ record @samp{*stopped}.  Currently @value{GDBN} only really executes
 asynchronously with remote targets and this interaction is mimicked in
 other cases.
 
-@subheading The @code{-exec-continue} Command
 @findex -exec-continue
+@subheading The @code{-exec-continue} Command
 
 @subsubheading Synopsis
 
@@ -33280,8 +33348,8 @@ line="13",arch="i386:x86_64"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-exec-finish} Command
 @findex -exec-finish
+@subheading The @code{-exec-finish} Command
 
 @subsubheading Synopsis
 
@@ -33330,8 +33398,8 @@ gdb-result-var="$1",return-value="0"
 @end smallexample
 
 
-@subheading The @code{-exec-interrupt} Command
 @findex -exec-interrupt
+@subheading The @code{-exec-interrupt} Command
 
 @subsubheading Synopsis
 
@@ -33381,8 +33449,8 @@ fullname="/home/foo/bar/try.c",line="13",arch="i386:x86_64"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-exec-jump} Command
 @findex -exec-jump
+@subheading The @code{-exec-jump} Command
 
 @subsubheading Synopsis
 
@@ -33407,8 +33475,8 @@ The corresponding @value{GDBN} command is @samp{jump}.
 @end smallexample
 
 
-@subheading The @code{-exec-next} Command
 @findex -exec-next
+@subheading The @code{-exec-next} Command
 
 @subsubheading Synopsis
 
@@ -33441,8 +33509,8 @@ The corresponding @value{GDBN} command is @samp{next}.
 @end smallexample
 
 
-@subheading The @code{-exec-next-instruction} Command
 @findex -exec-next-instruction
+@subheading The @code{-exec-next-instruction} Command
 
 @subsubheading Synopsis
 
@@ -33479,8 +33547,8 @@ addr="0x000100d4",line="5",file="hello.c"
 @end smallexample
 
 
-@subheading The @code{-exec-return} Command
 @findex -exec-return
+@subheading The @code{-exec-return} Command
 
 @subsubheading Synopsis
 
@@ -33526,8 +33594,8 @@ arch="i386:x86_64"@}
 @end smallexample
 
 
-@subheading The @code{-exec-run} Command
 @findex -exec-run
+@subheading The @code{-exec-run} Command
 
 @subsubheading Synopsis
 
@@ -33610,8 +33678,8 @@ signal-meaning="Interrupt"
 @c @subheading -exec-signal
 
 
-@subheading The @code{-exec-step} Command
 @findex -exec-step
+@subheading The @code{-exec-step} Command
 
 @subsubheading Synopsis
 
@@ -33656,8 +33724,8 @@ Regular stepping:
 @end smallexample
 
 
-@subheading The @code{-exec-step-instruction} Command
 @findex -exec-step-instruction
+@subheading The @code{-exec-step-instruction} Command
 
 @subsubheading Synopsis
 
@@ -33700,8 +33768,8 @@ fullname="/home/foo/bar/try.c",line="10",arch="i386:x86_64"@}
 @end smallexample
 
 
-@subheading The @code{-exec-until} Command
 @findex -exec-until
+@subheading The @code{-exec-until} Command
 
 @subsubheading Synopsis
 
@@ -33741,8 +33809,8 @@ Is this going away????
 @node GDB/MI Stack Manipulation
 @section @sc{gdb/mi} Stack Manipulation Commands
 
-@subheading The @code{-enable-frame-filters} Command
 @findex -enable-frame-filters
+@subheading The @code{-enable-frame-filters} Command
 
 @smallexample
 -enable-frame-filters
@@ -33758,8 +33826,8 @@ Once enabled, this feature cannot be disabled.
 Note that if Python support has not been compiled into @value{GDBN},
 this command will still succeed (and do nothing).
 
-@subheading The @code{-stack-info-frame} Command
 @findex -stack-info-frame
+@subheading The @code{-stack-info-frame} Command
 
 @subsubheading Synopsis
 
@@ -33786,8 +33854,8 @@ arch="i386:x86_64"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-stack-info-depth} Command
 @findex -stack-info-depth
+@subheading The @code{-stack-info-depth} Command
 
 @subsubheading Synopsis
 
@@ -33826,8 +33894,8 @@ For a stack with frame levels 0 through 11:
 @end smallexample
 
 @anchor{-stack-list-arguments}
-@subheading The @code{-stack-list-arguments} Command
 @findex -stack-list-arguments
+@subheading The @code{-stack-list-arguments} Command
 
 @subsubheading Synopsis
 
@@ -33931,8 +33999,8 @@ args=[@{name="intarg",value="2"@},
 
 
 @anchor{-stack-list-frames}
-@subheading The @code{-stack-list-frames} Command
 @findex -stack-list-frames
+@subheading The @code{-stack-list-frames} Command
 
 @subsubheading Synopsis
 
@@ -34055,9 +34123,9 @@ Show a single frame:
 @end smallexample
 
 
-@subheading The @code{-stack-list-locals} Command
 @findex -stack-list-locals
 @anchor{-stack-list-locals}
+@subheading The @code{-stack-list-locals} Command
 
 @subsubheading Synopsis
 
@@ -34104,8 +34172,8 @@ This command is deprecated in favor of the
 @end smallexample
 
 @anchor{-stack-list-variables}
-@subheading The @code{-stack-list-variables} Command
 @findex -stack-list-variables
+@subheading The @code{-stack-list-variables} Command
 
 @subsubheading Synopsis
 
@@ -34135,8 +34203,8 @@ available arguments and local variables are still displayed, however.
 @end smallexample
 
 
-@subheading The @code{-stack-select-frame} Command
 @findex -stack-select-frame
+@subheading The @code{-stack-select-frame} Command
 
 @subsubheading Synopsis
 
@@ -34332,8 +34400,8 @@ how it can be used.
 
 @subheading Description And Use of Operations on Variable Objects
 
-@subheading The @code{-enable-pretty-printing} Command
 @findex -enable-pretty-printing
+@subheading The @code{-enable-pretty-printing} Command
 
 @smallexample
 -enable-pretty-printing
@@ -34349,8 +34417,8 @@ Once enabled, this feature cannot be disabled.
 Note that if Python support has not been compiled into @value{GDBN},
 this command will still succeed (and do nothing).
 
-@subheading The @code{-var-create} Command
 @findex -var-create
+@subheading The @code{-var-create} Command
 
 @subsubheading Synopsis
 
@@ -34449,8 +34517,8 @@ Typical output will look like this:
 @end smallexample
 
 
-@subheading The @code{-var-delete} Command
 @findex -var-delete
+@subheading The @code{-var-delete} Command
 
 @subsubheading Synopsis
 
@@ -34464,8 +34532,8 @@ With the @samp{-c} option, just deletes the children.
 Returns an error if the object @var{name} is not found.
 
 
-@subheading The @code{-var-set-format} Command
 @findex -var-set-format
+@subheading The @code{-var-set-format} Command
 
 @subsubheading Synopsis
 
@@ -34496,8 +34564,8 @@ zero-hexadecimal format.
 For a variable with children, the format is set only on the 
 variable itself, and the children are not affected.  
 
-@subheading The @code{-var-show-format} Command
 @findex -var-show-format
+@subheading The @code{-var-show-format} Command
 
 @subsubheading Synopsis
 
@@ -34513,8 +34581,8 @@ Returns the format used to display the value of the object @var{name}.
 @end smallexample
 
 
-@subheading The @code{-var-info-num-children} Command
 @findex -var-info-num-children
+@subheading The @code{-var-info-num-children} Command
 
 @subsubheading Synopsis
 
@@ -34533,8 +34601,8 @@ It will return the current number of children, but more children may
 be available.
 
 
-@subheading The @code{-var-list-children} Command
 @findex -var-list-children
+@subheading The @code{-var-list-children} Command
 
 @subsubheading Synopsis
 
@@ -34650,8 +34718,8 @@ remaining after the end of the selected range.
 @end smallexample
 
 
-@subheading The @code{-var-info-type} Command
 @findex -var-info-type
+@subheading The @code{-var-info-type} Command
 
 @subsubheading Synopsis
 
@@ -34668,8 +34736,8 @@ returned as a string in the same format as it is output by the
 @end smallexample
 
 
-@subheading The @code{-var-info-expression} Command
 @findex -var-info-expression
+@subheading The @code{-var-info-expression} Command
 
 @subsubheading Synopsis
 
@@ -34697,8 +34765,8 @@ Note that the output of the @code{-var-list-children} command also
 includes those expressions, so the @code{-var-info-expression} command
 is of limited use.
 
-@subheading The @code{-var-info-path-expression} Command
 @findex -var-info-path-expression
+@subheading The @code{-var-info-path-expression} Command
 
 @subsubheading Synopsis
 
@@ -34726,8 +34794,8 @@ For example, suppose @code{C} is a C@t{++} class, derived from class
 ^done,path_expr=((Base)c).m_size)
 @end smallexample
 
-@subheading The @code{-var-show-attributes} Command
 @findex -var-show-attributes
+@subheading The @code{-var-show-attributes} Command
 
 @subsubheading Synopsis
 
@@ -34744,8 +34812,8 @@ List attributes of the specified variable object @var{name}:
 @noindent
 where @var{attr} is @code{@{ @{ editable | noneditable @} | TBD @}}.
 
-@subheading The @code{-var-evaluate-expression} Command
 @findex -var-evaluate-expression
+@subheading The @code{-var-evaluate-expression} Command
 
 @subsubheading Synopsis
 
@@ -34768,8 +34836,8 @@ can be changed using the @code{-var-set-format} command.
 Note that one must invoke @code{-var-list-children} for a variable
 before the value of a child variable can be evaluated.
 
-@subheading The @code{-var-assign} Command
 @findex -var-assign
+@subheading The @code{-var-assign} Command
 
 @subsubheading Synopsis
 
@@ -34794,8 +34862,8 @@ subsequent @code{-var-update} list.
 (gdb)
 @end smallexample
 
-@subheading The @code{-var-update} Command
 @findex -var-update
+@subheading The @code{-var-update} Command
 
 @subsubheading Synopsis
 
@@ -34922,9 +34990,9 @@ type_changed="false"@}]
 (gdb)
 @end smallexample
 
-@subheading The @code{-var-set-frozen} Command
 @findex -var-set-frozen
 @anchor{-var-set-frozen}
+@subheading The @code{-var-set-frozen} Command
 
 @subsubheading Synopsis
 
@@ -34953,9 +35021,9 @@ Unfreezing a variable does not update it, only subsequent
 (gdb)
 @end smallexample
 
-@subheading The @code{-var-set-update-range} command
 @findex -var-set-update-range
 @anchor{-var-set-update-range}
+@subheading The @code{-var-set-update-range} command
 
 @subsubheading Synopsis
 
@@ -34979,9 +35047,9 @@ children will be reported.  Otherwise, children starting at @var{from}
 ^done
 @end smallexample
 
-@subheading The @code{-var-set-visualizer} command
 @findex -var-set-visualizer
 @anchor{-var-set-visualizer}
+@subheading The @code{-var-set-visualizer} command
 
 @subsubheading Synopsis
 
@@ -35058,8 +35126,8 @@ For details about what an addressable memory unit is,
 @c @subsubheading Example
 @c N.A.
 
-@subheading The @code{-data-disassemble} Command
 @findex -data-disassemble
+@subheading The @code{-data-disassemble} Command
 
 @subsubheading Synopsis
 
@@ -35314,8 +35382,8 @@ inst="sethi  %hi(0x11800), %o2"@}]@}]
 @end smallexample
 
 
-@subheading The @code{-data-evaluate-expression} Command
 @findex -data-evaluate-expression
+@subheading The @code{-data-evaluate-expression} Command
 
 @subsubheading Synopsis
 
@@ -35356,8 +35424,8 @@ output.
 @end smallexample
 
 
-@subheading The @code{-data-list-changed-registers} Command
 @findex -data-list-changed-registers
+@subheading The @code{-data-list-changed-registers} Command
 
 @subsubheading Synopsis
 
@@ -35394,8 +35462,8 @@ line="5",arch="powerpc"@}
 @end smallexample
 
 
-@subheading The @code{-data-list-register-names} Command
 @findex -data-list-register-names
+@subheading The @code{-data-list-register-names} Command
 
 @subsubheading Synopsis
 
@@ -35435,8 +35503,8 @@ For the PPC MBX board:
 (gdb)
 @end smallexample
 
-@subheading The @code{-data-list-register-values} Command
 @findex -data-list-register-values
+@subheading The @code{-data-list-register-values} Command
 
 @subsubheading Synopsis
 
@@ -35526,8 +35594,8 @@ don't appear in the actual output):
 @end smallexample
 
 
-@subheading The @code{-data-read-memory} Command
 @findex -data-read-memory
+@subheading The @code{-data-read-memory} Command
 
 This command is deprecated, use @code{-data-read-memory-bytes} instead.
 
@@ -35642,8 +35710,8 @@ next-page="0x000013c0",prev-page="0x00001380",memory=[
 (gdb)
 @end smallexample
 
-@subheading The @code{-data-read-memory-bytes} Command
 @findex -data-read-memory-bytes
+@subheading The @code{-data-read-memory-bytes} Command
 
 @subsubheading Synopsis
 
@@ -35728,8 +35796,8 @@ The corresponding @value{GDBN} command is @samp{x}.
 @end smallexample
 
 
-@subheading The @code{-data-write-memory-bytes} Command
 @findex -data-write-memory-bytes
+@subheading The @code{-data-write-memory-bytes} Command
 
 @subsubheading Synopsis
 
@@ -35786,8 +35854,8 @@ There's no corresponding @value{GDBN} command.
 The commands defined in this section implement MI support for
 tracepoints.  For detailed introduction, see @ref{Tracepoints}.
 
-@subheading The @code{-trace-find} Command
 @findex -trace-find
+@subheading The @code{-trace-find} Command
 
 @subsubheading Synopsis
 
@@ -35861,8 +35929,8 @@ frame.  This field is present only if a trace frame was found.
 
 The corresponding @value{GDBN} command is @samp{tfind}.
 
-@subheading -trace-define-variable
 @findex -trace-define-variable
+@subheading -trace-define-variable
 
 @subsubheading Synopsis
 
@@ -35879,8 +35947,8 @@ with the @samp{$} character.
 
 The corresponding @value{GDBN} command is @samp{tvariable}.
 
-@subheading The @code{-trace-frame-collected} Command
 @findex -trace-frame-collected
+@subheading The @code{-trace-frame-collected} Command
 
 @subsubheading Synopsis
 
@@ -35996,8 +36064,8 @@ There is no corresponding @value{GDBN} command.
 
 @subsubheading Example
 
-@subheading -trace-list-variables
 @findex -trace-list-variables
+@subheading -trace-list-variables
 
 @subsubheading Synopsis
 
@@ -36042,8 +36110,8 @@ body=[variable=@{name="$trace_timestamp",initial="0"@}
 (gdb)
 @end smallexample
 
-@subheading -trace-save
 @findex -trace-save
+@subheading -trace-save
 
 @subsubheading Synopsis
 
@@ -36065,8 +36133,8 @@ supply the optional @samp{-ctf} argument to save it the CTF format. See
 The corresponding @value{GDBN} command is @samp{tsave}.
 
 
-@subheading -trace-start
 @findex -trace-start
+@subheading -trace-start
 
 @subsubheading Synopsis
 
@@ -36081,8 +36149,8 @@ have any fields.
 
 The corresponding @value{GDBN} command is @samp{tstart}.
 
-@subheading -trace-status
 @findex -trace-status
+@subheading -trace-status
 
 @subsubheading Synopsis
 
@@ -36156,8 +36224,8 @@ optional, and only present when examining a trace file.
 
 The corresponding @value{GDBN} command is @samp{tstatus}.
 
-@subheading -trace-stop
 @findex -trace-stop
+@subheading -trace-stop
 
 @subsubheading Synopsis
 
@@ -36180,8 +36248,8 @@ The corresponding @value{GDBN} command is @samp{tstop}.
 
 
 @ignore
-@subheading The @code{-symbol-info-address} Command
 @findex -symbol-info-address
+@subheading The @code{-symbol-info-address} Command
 
 @subsubheading Synopsis
 
@@ -36199,8 +36267,8 @@ The corresponding @value{GDBN} command is @samp{info address}.
 N.A.
 
 
-@subheading The @code{-symbol-info-file} Command
 @findex -symbol-info-file
+@subheading The @code{-symbol-info-file} Command
 
 @subsubheading Synopsis
 
@@ -36219,9 +36287,9 @@ There's no equivalent @value{GDBN} command.  @code{gdbtk} has
 N.A.
 @end ignore
 
-@subheading The @code{-symbol-info-functions} Command
 @findex -symbol-info-functions
 @anchor{-symbol-info-functions}
+@subheading The @code{-symbol-info-functions} Command
 
 @subsubheading Synopsis
 
@@ -36331,9 +36399,9 @@ The corresponding @value{GDBN} command is @samp{info functions}.
 @end group
 @end smallexample
 
-@subheading The @code{-symbol-info-module-functions} Command
 @findex -symbol-info-module-functions
 @anchor{-symbol-info-module-functions}
+@subheading The @code{-symbol-info-module-functions} Command
 
 @subsubheading Synopsis
 
@@ -36397,9 +36465,9 @@ The corresponding @value{GDBN} command is @samp{info module functions}.
 @end group
 @end smallexample
 
-@subheading The @code{-symbol-info-module-variables} Command
 @findex -symbol-info-module-variables
 @anchor{-symbol-info-module-variables}
+@subheading The @code{-symbol-info-module-variables} Command
 
 @subsubheading Synopsis
 
@@ -36473,9 +36541,9 @@ The corresponding @value{GDBN} command is @samp{info module variables}.
 @end group
 @end smallexample
 
-@subheading The @code{-symbol-info-modules} Command
 @findex -symbol-info-modules
 @anchor{-symbol-info-modules}
+@subheading The @code{-symbol-info-modules} Command
 
 @subsubheading Synopsis
 
@@ -36534,9 +36602,9 @@ The corresponding @value{GDBN} command is @samp{info modules}.
 @end group
 @end smallexample
 
-@subheading The @code{-symbol-info-types} Command
 @findex -symbol-info-types
 @anchor{-symbol-info-types}
+@subheading The @code{-symbol-info-types} Command
 
 @subsubheading Synopsis
 
@@ -36599,9 +36667,9 @@ The corresponding @value{GDBN} command is @samp{info types}.
 @end group
 @end smallexample
 
-@subheading The @code{-symbol-info-variables} Command
 @findex -symbol-info-variables
 @anchor{-symbol-info-variables}
+@subheading The @code{-symbol-info-variables} Command
 
 @subsubheading Synopsis
 
@@ -36717,8 +36785,8 @@ The corresponding @value{GDBN} command is @samp{info variables}.
 @end smallexample
 
 @ignore
-@subheading The @code{-symbol-info-line} Command
 @findex -symbol-info-line
+@subheading The @code{-symbol-info-line} Command
 
 @subsubheading Synopsis
 
@@ -36737,8 +36805,8 @@ The corresponding @value{GDBN} command is @samp{info line}.
 N.A.
 
 
-@subheading The @code{-symbol-info-symbol} Command
 @findex -symbol-info-symbol
+@subheading The @code{-symbol-info-symbol} Command
 
 @subsubheading Synopsis
 
@@ -36756,8 +36824,8 @@ The corresponding @value{GDBN} command is @samp{info symbol}.
 N.A.
 
 
-@subheading The @code{-symbol-list-functions} Command
 @findex -symbol-list-functions
+@subheading The @code{-symbol-list-functions} Command
 
 @subsubheading Synopsis
 
@@ -36777,8 +36845,8 @@ N.A.
 @end ignore
 
 
-@subheading The @code{-symbol-list-lines} Command
 @findex -symbol-list-lines
+@subheading The @code{-symbol-list-lines} Command
 
 @subsubheading Synopsis
 
@@ -36804,8 +36872,8 @@ There is no corresponding @value{GDBN} command.
 
 
 @ignore
-@subheading The @code{-symbol-list-types} Command
 @findex -symbol-list-types
+@subheading The @code{-symbol-list-types} Command
 
 @subsubheading Synopsis
 
@@ -36824,8 +36892,8 @@ The corresponding commands are @samp{info types} in @value{GDBN},
 N.A.
 
 
-@subheading The @code{-symbol-list-variables} Command
 @findex -symbol-list-variables
+@subheading The @code{-symbol-list-variables} Command
 
 @subsubheading Synopsis
 
@@ -36843,8 +36911,8 @@ List all the global and static variable names.
 N.A.
 
 
-@subheading The @code{-symbol-locate} Command
 @findex -symbol-locate
+@subheading The @code{-symbol-locate} Command
 
 @subsubheading Synopsis
 
@@ -36860,8 +36928,8 @@ N.A.
 N.A.
 
 
-@subheading The @code{-symbol-type} Command
 @findex -symbol-type
+@subheading The @code{-symbol-type} Command
 
 @subsubheading Synopsis
 
@@ -36888,8 +36956,8 @@ N.A.
 This section describes the GDB/MI commands to specify executable file names
 and to read in and obtain symbol table information.
 
-@subheading The @code{-file-exec-and-symbols} Command
 @findex -file-exec-and-symbols
+@subheading The @code{-file-exec-and-symbols} Command
 
 @subsubheading Synopsis
 
@@ -36918,8 +36986,8 @@ The corresponding @value{GDBN} command is @samp{file}.
 @end smallexample
 
 
-@subheading The @code{-file-exec-file} Command
 @findex -file-exec-file
+@subheading The @code{-file-exec-file} Command
 
 @subsubheading Synopsis
 
@@ -36948,8 +37016,8 @@ The corresponding @value{GDBN} command is @samp{exec-file}.
 
 
 @ignore
-@subheading The @code{-file-list-exec-sections} Command
 @findex -file-list-exec-sections
+@subheading The @code{-file-list-exec-sections} Command
 
 @subsubheading Synopsis
 
@@ -36970,8 +37038,8 @@ N.A.
 @end ignore
 
 
-@subheading The @code{-file-list-exec-source-file} Command
 @findex -file-list-exec-source-file
+@subheading The @code{-file-list-exec-source-file} Command
 
 @subsubheading Synopsis
 
@@ -36998,9 +37066,9 @@ The @value{GDBN} equivalent is @samp{info source}
 @end smallexample
 
 
+@findex -file-list-exec-source-files
 @subheading The @code{-file-list-exec-source-files} Command
 @kindex info sources
-@findex -file-list-exec-source-files
 
 @subsubheading Synopsis
 
@@ -37138,8 +37206,8 @@ The @value{GDBN} equivalent is @samp{info sources}.
               sources=[]@}]
 @end smallexample
 
-@subheading The @code{-file-list-shared-libraries} Command
 @findex -file-list-shared-libraries
+@subheading The @code{-file-list-shared-libraries} Command
 
 @subsubheading Synopsis
 
@@ -37177,8 +37245,8 @@ The address defining the exclusive upper bound of the segment.
 
 
 @ignore
-@subheading The @code{-file-list-symbol-files} Command
 @findex -file-list-symbol-files
+@subheading The @code{-file-list-symbol-files} Command
 
 @subsubheading Synopsis
 
@@ -37197,8 +37265,8 @@ N.A.
 @end ignore
 
 
-@subheading The @code{-file-symbol-file} Command
 @findex -file-symbol-file
+@subheading The @code{-file-symbol-file} Command
 
 @subsubheading Synopsis
 
@@ -37263,8 +37331,8 @@ Signal handling commands are not implemented.
 @section @sc{gdb/mi} Target Manipulation Commands
 
 
-@subheading The @code{-target-attach} Command
 @findex -target-attach
+@subheading The @code{-target-attach} Command
 
 @subsubheading Synopsis
 
@@ -37292,8 +37360,8 @@ The corresponding @value{GDBN} command is @samp{attach}.
 @end smallexample
 
 @ignore
-@subheading The @code{-target-compare-sections} Command
 @findex -target-compare-sections
+@subheading The @code{-target-compare-sections} Command
 
 @subsubheading Synopsis
 
@@ -37313,8 +37381,8 @@ N.A.
 @end ignore
 
 
-@subheading The @code{-target-detach} Command
 @findex -target-detach
+@subheading The @code{-target-detach} Command
 
 @subsubheading Synopsis
 
@@ -37340,8 +37408,8 @@ The corresponding @value{GDBN} command is @samp{detach}.
 @end smallexample
 
 
-@subheading The @code{-target-disconnect} Command
 @findex -target-disconnect
+@subheading The @code{-target-disconnect} Command
 
 @subsubheading Synopsis
 
@@ -37366,8 +37434,8 @@ The corresponding @value{GDBN} command is @samp{disconnect}.
 @end smallexample
 
 
-@subheading The @code{-target-download} Command
 @findex -target-download
+@subheading The @code{-target-download} Command
 
 @subsubheading Synopsis
 
@@ -37471,8 +37539,8 @@ write-rate="429"
 
 
 @ignore
-@subheading The @code{-target-exec-status} Command
 @findex -target-exec-status
+@subheading The @code{-target-exec-status} Command
 
 @subsubheading Synopsis
 
@@ -37491,8 +37559,8 @@ There's no equivalent @value{GDBN} command.
 N.A.
 
 
-@subheading The @code{-target-list-available-targets} Command
 @findex -target-list-available-targets
+@subheading The @code{-target-list-available-targets} Command
 
 @subsubheading Synopsis
 
@@ -37510,8 +37578,8 @@ The corresponding @value{GDBN} command is @samp{help target}.
 N.A.
 
 
-@subheading The @code{-target-list-current-targets} Command
 @findex -target-list-current-targets
+@subheading The @code{-target-list-current-targets} Command
 
 @subsubheading Synopsis
 
@@ -37530,8 +37598,8 @@ other things).
 N.A.
 
 
-@subheading The @code{-target-list-parameters} Command
 @findex -target-list-parameters
+@subheading The @code{-target-list-parameters} Command
 
 @subsubheading Synopsis
 
@@ -37549,8 +37617,8 @@ No equivalent.
 @subsubheading Example
 N.A.
 
-@subheading The @code{-target-flash-erase} Command
 @findex -target-flash-erase
+@subheading The @code{-target-flash-erase} Command
 
 @subsubheading Synopsis
 
@@ -37572,8 +37640,8 @@ addresses and memory region sizes.
 (gdb)
 @end smallexample
 
-@subheading The @code{-target-select} Command
 @findex -target-select
+@subheading The @code{-target-select} Command
 
 @subsubheading Synopsis
 
@@ -37617,8 +37685,8 @@ The corresponding @value{GDBN} command is @samp{target}.
 @section @sc{gdb/mi} File Transfer Commands
 
 
-@subheading The @code{-target-file-put} Command
 @findex -target-file-put
+@subheading The @code{-target-file-put} Command
 
 @subsubheading Synopsis
 
@@ -37643,8 +37711,8 @@ The corresponding @value{GDBN} command is @samp{remote put}.
 @end smallexample
 
 
-@subheading The @code{-target-file-get} Command
 @findex -target-file-get
+@subheading The @code{-target-file-get} Command
 
 @subsubheading Synopsis
 
@@ -37669,8 +37737,8 @@ The corresponding @value{GDBN} command is @samp{remote get}.
 @end smallexample
 
 
-@subheading The @code{-target-file-delete} Command
 @findex -target-file-delete
+@subheading The @code{-target-file-delete} Command
 
 @subsubheading Synopsis
 
@@ -37698,8 +37766,8 @@ The corresponding @value{GDBN} command is @samp{remote delete}.
 @node GDB/MI Ada Exceptions Commands
 @section Ada Exceptions @sc{gdb/mi} Commands
 
-@subheading The @code{-info-ada-exceptions} Command
 @findex -info-ada-exceptions
+@subheading The @code{-info-ada-exceptions} Command
 
 @subsubheading Synopsis
 
@@ -37756,9 +37824,9 @@ some commands are available to help front-ends query the debugger
 about support for these capabilities.  Similarly, it is also possible
 to query @value{GDBN} about target support of certain features.
 
-@subheading The @code{-info-gdb-mi-command} Command
 @cindex @code{-info-gdb-mi-command}
 @findex -info-gdb-mi-command
+@subheading The @code{-info-gdb-mi-command} Command
 
 @subsubheading Synopsis
 
@@ -37807,9 +37875,9 @@ to the debugger:
 ^done,command=@{exists="true"@}
 @end smallexample
 
-@subheading The @code{-list-features} Command
 @findex -list-features
 @cindex supported @sc{gdb/mi} features, list
+@subheading The @code{-list-features} Command
 
 Returns a list of particular features of the MI protocol that
 this version of gdb implements.  A feature can be a command,
@@ -37871,8 +37939,8 @@ Indicates that the @code{-data-disassemble} command supports the @option{-a}
 option (@pxref{GDB/MI Data Manipulation}).
 @end ftable
 
-@subheading The @code{-list-target-features} Command
 @findex -list-target-features
+@subheading The @code{-list-target-features} Command
 
 Returns a list of particular features that are supported by the
 target.  Those features affect the permitted MI commands, but 
@@ -37908,8 +37976,8 @@ Indicates that the target is capable of reverse execution.
 
 @c @subheading -gdb-complete
 
-@subheading The @code{-gdb-exit} Command
 @findex -gdb-exit
+@subheading The @code{-gdb-exit} Command
 
 @subsubheading Synopsis
 
@@ -37933,8 +38001,8 @@ Approximately corresponds to @samp{quit}.
 
 
 @ignore
-@subheading The @code{-exec-abort} Command
 @findex -exec-abort
+@subheading The @code{-exec-abort} Command
 
 @subsubheading Synopsis
 
@@ -37953,8 +38021,8 @@ N.A.
 @end ignore
 
 
-@subheading The @code{-gdb-set} Command
 @findex -gdb-set
+@subheading The @code{-gdb-set} Command
 
 @subsubheading Synopsis
 
@@ -37979,8 +38047,8 @@ The corresponding @value{GDBN} command is @samp{set}.
 @end smallexample
 
 
-@subheading The @code{-gdb-show} Command
 @findex -gdb-show
+@subheading The @code{-gdb-show} Command
 
 @subsubheading Synopsis
 
@@ -38006,8 +38074,8 @@ The corresponding @value{GDBN} command is @samp{show}.
 @c @subheading -gdb-source
 
 
-@subheading The @code{-gdb-version} Command
 @findex -gdb-version
+@subheading The @code{-gdb-version} Command
 
 @subsubheading Synopsis
 
@@ -38043,8 +38111,8 @@ default shows this information when you start an interactive session.
 (gdb)
 @end smallexample
 
-@subheading The @code{-list-thread-groups} Command
 @findex -list-thread-groups
+@subheading The @code{-list-thread-groups} Command
 
 @subheading Synopsis
 
@@ -38164,8 +38232,8 @@ and only if there is a corresponding executable file.
                         @{id="2",target-id="Thread 0xb7e14b90",cores=[2]@}]@},...]
 @end smallexample
 
-@subheading The @code{-info-os} Command
 @findex -info-os
+@subheading The @code{-info-os} Command
 
 @subsubheading Synopsis
 
@@ -38239,8 +38307,8 @@ for MI clients that want to enumerate the types of data, such as in a
 popup menu, but is needless clutter on the command line, and
 @code{info os} omits it.)
 
-@subheading The @code{-add-inferior} Command
 @findex -add-inferior
+@subheading The @code{-add-inferior} Command
 
 @subheading Synopsis
 
@@ -38293,8 +38361,41 @@ The corresponding @value{GDBN} command is @samp{add-inferior}
 ^done,inferior="i3"
 @end smallexample
 
-@subheading The @code{-interpreter-exec} Command
+@findex -remove-inferior
+@subheading The @code{-remove-inferior} Command
+
+@subsubheading Synopsis
+
+@smallexample
+-remove-inferior @var{inferior-id}
+@end smallexample
+
+Removes an inferior (@pxref{Inferiors Connections and Programs}).
+Only inferiors that have exited can be removed.  The @var{inferior-id}
+is the inferior to be removed, and should be the same id string as
+returned by the @samp{-add-inferior} command.
+
+When an inferior is successfully removed a
+@code{=thread-group-removed} notification (@pxref{GDB/MI Async
+Records}) is emitted, the @var{id} field of which contains the
+@var{inferior-id} for the removed inferior.
+
+@subsubheading @value{GDBN} Command
+
+The corresponding @value{GDBN} command is @samp{remove-inferiors}
+(@pxref{remove_inferiors_cli,,@samp{remove-inferiors}}).
+
+@subsubheading Example
+
+@smallexample
+(@value{GDBP})
+-remove-inferior i3
+=thread-group-removed,id="i3"
+^done
+@end smallexample
+
 @findex -interpreter-exec
+@subheading The @code{-interpreter-exec} Command
 
 @subheading Synopsis
 
@@ -38321,8 +38422,8 @@ The corresponding @value{GDBN} command is @samp{interpreter-exec}.
 (gdb)
 @end smallexample
 
-@subheading The @code{-inferior-tty-set} Command
 @findex -inferior-tty-set
+@subheading The @code{-inferior-tty-set} Command
 
 @subheading Synopsis
 
@@ -38345,8 +38446,8 @@ The corresponding @value{GDBN} command is @samp{set inferior-tty} /dev/pts/1.
 (gdb)
 @end smallexample
 
-@subheading The @code{-inferior-tty-show} Command
 @findex -inferior-tty-show
+@subheading The @code{-inferior-tty-show} Command
 
 @subheading Synopsis
 
@@ -38372,8 +38473,8 @@ The corresponding @value{GDBN} command is @samp{show inferior-tty}.
 (gdb)
 @end smallexample
 
-@subheading The @code{-enable-timings} Command
 @findex -enable-timings
+@subheading The @code{-enable-timings} Command
 
 @subheading Synopsis
 
@@ -38417,8 +38518,8 @@ fullname="/home/nickrob/myprog.c",line="73",arch="i386:x86_64"@}
 (gdb)
 @end smallexample
 
-@subheading The @code{-complete} Command
 @findex -complete
+@subheading The @code{-complete} Command
 
 @subheading Synopsis
 
@@ -41669,17 +41770,27 @@ Reply:
 Each byte of register data is described by two hex digits.  The bytes
 with the register are transmitted in target byte order.  The size of
 each register and their position within the @samp{g} packet are
-determined by the @value{GDBN} internal gdbarch functions
-@code{DEPRECATED_REGISTER_RAW_SIZE} and @code{gdbarch_register_name}.
-
-When reading registers from a trace frame (@pxref{Analyze Collected
-Data,,Using the Collected Data}), the stub may also return a string of
-literal @samp{x}'s in place of the register data digits, to indicate
-that the corresponding register has not been collected, thus its value
-is unavailable.  For example, for an architecture with 4 registers of
+determined by the target description (@pxref{Target Descriptions}); in
+the absence of a target description, this is done using code internal
+to @value{GDBN}; typically this is some customary register layout for
+the architecture in question.
+
+When reading registers, the stub may also return a string of literal
+@samp{x}'s in place of the register data digits, to indicate that the
+corresponding register's value is unavailable.  For example, when
+reading registers from a trace frame (@pxref{Analyze Collected
+Data,,Using the Collected Data}), this means that the register has not
+been collected in the trace frame.  When reading registers from a live
+program, this indicates that the stub has no means to access the
+register contents, even though the corresponding register is known to
+exist.  Note that if a register truly does not exist on the target,
+then it is better to not include it in the target description in the
+first place.
+
+For example, for an architecture with 4 registers of
 4 bytes each, the following reply indicates to @value{GDBN} that
-registers 0 and 2 have not been collected, while registers 1 and 3
-have been collected, and both have zero value:
+registers 0 and 2 are unavailable, while registers 1 and 3
+are available, and both have zero value:
 
 @smallexample
 -> @code{g}