* remote.c (set_remote_cmd): Call help_list.
	(show_remote_cmd): Skip legacy aliases.  Handle non-show_cmd
	entries.  Add missed cleanup.
	* cli/cli-setshow.c (cmd_show_list): Handle non-show_cmd entries.
gdb/doc/
	* gdb.texinfo (Remote configuration): Rewrite documentation for
	packet configuration commands.
	(OS Information): Adjust reference to qXfer:auxv:read.
	(General Query Packets): Remove references to read-aux-vector-packet
	and set remote get-thread-local-storage-address.
This commit is contained in:
Daniel Jacobowitz 2006-11-14 21:40:19 +00:00
parent dbe717effb
commit 427c3a89d3
5 changed files with 113 additions and 139 deletions

View File

@ -1,3 +1,10 @@
2006-11-14 Daniel Jacobowitz <dan@codesourcery.com>
* remote.c (set_remote_cmd): Call help_list.
(show_remote_cmd): Skip legacy aliases. Handle non-show_cmd
entries. Add missed cleanup.
* cli/cli-setshow.c (cmd_show_list): Handle non-show_cmd entries.
2006-11-13 Paul Gilliam <pgilliam@us.ibm.com>
* ppc-linux-tdep.c (ppc_linux_sigtramp_cache): Don't futz with

View File

@ -405,14 +405,17 @@ cmd_show_list (struct cmd_list_element *list, int from_tty, char *prefix)
/* Close the tuple. */
do_cleanups (optionlist_chain);
}
if (list->type == show_cmd)
else
{
struct cleanup *option_chain
= make_cleanup_ui_out_tuple_begin_end (uiout, "option");
ui_out_text (uiout, prefix);
ui_out_field_string (uiout, "name", list->name);
ui_out_text (uiout, ": ");
do_setshow_command ((char *) NULL, from_tty, list);
if (list->type == show_cmd)
do_setshow_command ((char *) NULL, from_tty, list);
else
cmd_func (list, NULL, from_tty);
/* Close the tuple. */
do_cleanups (option_chain);
}

View File

@ -1,3 +1,11 @@
2006-11-14 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.texinfo (Remote configuration): Rewrite documentation for
packet configuration commands.
(OS Information): Adjust reference to qXfer:auxv:read.
(General Query Packets): Remove references to read-aux-vector-packet
and set remote get-thread-local-storage-address.
2006-11-10 Daniel Jacobowitz <dan@codesourcery.com>
* gdbint.texinfo (Target Architecture Definition): Add new

View File

@ -6740,8 +6740,8 @@ identified by an integer tag; the meanings are well-known but system-specific.
Depending on the configuration and operating system facilities,
@value{GDBN} may be able to show you this information. For remote
targets, this functionality may further depend on the remote stub's
support of the @samp{qXfer:auxv:read} packet, see @ref{Remote
configuration, auxiliary vector}.
support of the @samp{qXfer:auxv:read} packet, see
@ref{qXfer auxiliary vector read}.
@table @code
@kindex info auxv
@ -12760,134 +12760,84 @@ responses.
@itemx set remote hardware-breakpoint-limit @var{limit}
Restrict @value{GDBN} to using @var{limit} remote hardware breakpoint or
watchpoints. A limit of -1, the default, is treated as unlimited.
@item set remote fetch-register-packet
@itemx set remote set-register-packet
@itemx set remote P-packet
@itemx set remote p-packet
@cindex P-packet
@cindex fetch registers from remote targets
@cindex set registers in remote targets
Determine whether @value{GDBN} can set and fetch registers from the
remote target using the @samp{P} packets. The default depends on the
remote stub's support of the @samp{P} packets (@value{GDBN} queries
the stub when this packet is first required).
@item show remote fetch-register-packet
@itemx show remote set-register-packet
@itemx show remote P-packet
@itemx show remote p-packet
Show the current setting of using the @samp{P} packets for setting and
fetching registers from the remote target.
@cindex binary downloads
@cindex X-packet
@item set remote binary-download-packet
@itemx set remote X-packet
Determine whether @value{GDBN} sends downloads in binary mode using
the @samp{X} packets. The default is on.
@item show remote binary-download-packet
@itemx show remote X-packet
Show the current setting of using the @samp{X} packets for binary
downloads.
@item set remote read-aux-vector-packet
@cindex auxiliary vector of remote target
@cindex @code{auxv}, and remote targets
Set the use of the remote protocol's @samp{qXfer:auxv:read} (target
auxiliary vector) request. This request is used to fetch the
remote target's @dfn{auxiliary vector}, see @ref{OS Information,
Auxiliary Vector}. The default setting depends on the remote stub's
support of this request (@value{GDBN} queries the stub when this
request is first required). @xref{General Query Packets, qXfer}, for
more information about this request.
@item show remote read-aux-vector-packet
Show the current setting of use of the @samp{qXfer:auxv:read} request.
@item set remote symbol-lookup-packet
@cindex remote symbol lookup request
Set the use of the remote protocol's @samp{qSymbol} (target symbol
lookup) request. This request is used to communicate symbol
information to the remote target, e.g., whenever a new shared library
is loaded by the remote (@pxref{Files, shared libraries}). The
default setting depends on the remote stub's support of this request
(@value{GDBN} queries the stub when this request is first required).
@xref{General Query Packets, qSymbol}, for more information about this
request.
@item show remote symbol-lookup-packet
Show the current setting of use of the @samp{qSymbol} request.
@item set remote verbose-resume-packet
@cindex resume remote target
@cindex signal thread, and remote targets
@cindex single-step thread, and remote targets
@cindex thread-specific operations on remote targets
Set the use of the remote protocol's @samp{vCont} (descriptive resume)
request. This request is used to resume specific threads in the
remote target, and to single-step or signal them. The default setting
depends on the remote stub's support of this request (@value{GDBN}
queries the stub when this request is first required). This setting
affects debugging of multithreaded programs: if @samp{vCont} cannot be
used, @value{GDBN} might be unable to single-step a specific thread,
especially under @code{set scheduler-locking off}; it is also
impossible to pause a specific thread. @xref{Packets, vCont}, for
more details.
@item show remote verbose-resume-packet
Show the current setting of use of the @samp{vCont} request
@item set remote software-breakpoint-packet
@itemx set remote hardware-breakpoint-packet
@itemx set remote write-watchpoint-packet
@itemx set remote read-watchpoint-packet
@itemx set remote access-watchpoint-packet
@itemx set remote Z-packet
@cindex Z-packet
@cindex remote hardware breakpoints and watchpoints
These commands enable or disable the use of @samp{Z} packets for
setting breakpoints and watchpoints in the remote target. The default
depends on the remote stub's support of the @samp{Z} packets
(@value{GDBN} queries the stub when each packet is first required).
The command @code{set remote Z-packet}, kept for back-compatibility,
turns on or off all the features that require the use of @samp{Z}
packets.
@item show remote software-breakpoint-packet
@itemx show remote hardware-breakpoint-packet
@itemx show remote write-watchpoint-packet
@itemx show remote read-watchpoint-packet
@itemx show remote access-watchpoint-packet
@itemx show remote Z-packet
Show the current setting of @samp{Z} packets usage.
@item set remote get-thread-local-storage-address
@kindex set remote get-thread-local-storage-address
@cindex thread local storage of remote targets
This command enables or disables the use of the @samp{qGetTLSAddr}
(Get Thread Local Storage Address) request packet. The default
depends on whether the remote stub supports this request.
@xref{General Query Packets, qGetTLSAddr}, for more details about this
packet.
@item show remote get-thread-local-storage-address
@kindex show remote get-thread-local-storage-address
Show the current setting of @samp{qGetTLSAddr} packet usage.
@item set remote supported-packets
@kindex set remote supported-packets
@cindex query supported packets of remote targets
This command enables or disables the use of the @samp{qSupported}
request packet. @xref{General Query Packets, qSupported}, for more
details about this packet. The default is to use @samp{qSupported}.
@item show remote supported-packets
@kindex show remote supported-packets
Show the current setting of @samp{qSupported} packet usage.
@end table
@cindex remote packets, enabling and disabling
The @value{GDBN} remote protocol autodetects the packets supported by
your debugging stub. If you need to override the autodetection, you
can use these commands to enable or disable individual packets. Each
packet can be set to @samp{on} (the remote target supports this
packet), @samp{off} (the remote target does not support this packet),
or @samp{auto} (detect remote target support for this packet). They
all default to @samp{auto}. For more information about each packet,
see @ref{Remote Protocol}.
During normal use, you should not have to use any of these commands.
If you do, that may be a bug in your remote debugging stub, or a bug
in @value{GDBN}. You may want to report the problem to the
@value{GDBN} developers.
The available settings are:
@multitable @columnfractions 0.3 0.2 0.35
@item Command Name
@tab Remote Packet
@tab Related Features
@item @code{fetch-register-packet}
@tab @code{p}
@tab @code{info registers}
@item @code{set-register-packet}
@tab @code{P}
@tab @code{set}
@item @code{binary-download-packet}
@tab @code{X}
@tab @code{load}, @code{set}
@item @code{read-aux-vector-packet}
@tab @code{qXfer:auxv:read}
@tab @code{info auxv}
@item @code{symbol-lookup-packet}
@tab @code{qSymbol}
@tab Detecting multiple threads
@item @code{verbose-resume-packet}
@tab @code{vCont}
@tab Stepping or resuming multiple threads
@item @code{software-breakpoint-packet}
@tab @code{Z0}
@tab @code{break}
@item @code{hardware-breakpoint-packet}
@tab @code{Z1}
@tab @code{hbreak}
@item @code{write-watchpoint-packet}
@tab @code{Z2}
@tab @code{watch}
@item @code{read-watchpoint-packet}
@tab @code{Z3}
@tab @code{rwatch}
@item @code{access-watchpoint-packet}
@tab @code{Z4}
@tab @code{awatch}
@item @code{get-thread-local-storage-address-packet}
@tab @code{qGetTLSAddr}
@tab Displaying @code{__thread} variables
@item @code{supported-packets}
@tab @code{qSupported}
@tab Remote communications parameters
@end multitable
@node remote stub
@section Implementing a remote stub
@ -23604,10 +23554,6 @@ An error occurred. @var{nn} are hex digits.
An empty reply indicates that @samp{qGetTLSAddr} is not supported by the stub.
@end table
Use of this request packet is controlled by the @code{set remote
get-thread-local-storage-address} command (@pxref{Remote
configuration, set remote get-thread-local-storage-address}).
@item qL @var{startflag} @var{threadcount} @var{nextthread}
Obtain thread information from RTOS. Where: @var{startflag} (one hex
digit) is one to indicate the first query and zero to indicate a
@ -23908,8 +23854,7 @@ formats, listed below.
@item qXfer:auxv:read::@var{offset},@var{length}
@anchor{qXfer auxiliary vector read}
Access the target's @dfn{auxiliary vector}. @xref{OS Information,
auxiliary vector}, and @ref{Remote configuration,
read-aux-vector-packet}. Note @var{annex} must be empty.
auxiliary vector}. Note @var{annex} must be empty.
This packet is not probed by default; the remote stub must request it,
by suppling an appropriate @samp{qSupported} response (@pxref{qSupported}).

View File

@ -6082,13 +6082,14 @@ Specify the serial device it is connected to (e.g. /dev/ttya).",
static void
set_remote_cmd (char *args, int from_tty)
{
help_list (remote_set_cmdlist, "set remote ", -1, gdb_stdout);
}
static void
show_remote_cmd (char *args, int from_tty)
{
/* We can't just use cmd_show_list here, because we want to skip
the redundant "show remote Z-packet". */
the redundant "show remote Z-packet" and the legacy aliases. */
struct cleanup *showlist_chain;
struct cmd_list_element *list = remote_show_cmdlist;
@ -6096,16 +6097,26 @@ show_remote_cmd (char *args, int from_tty)
for (; list != NULL; list = list->next)
if (strcmp (list->name, "Z-packet") == 0)
continue;
else if (list->type == show_cmd)
else if (list->type == not_set_cmd)
/* Alias commands are exactly like the original, except they
don't have the normal type. */
continue;
else
{
struct cleanup *option_chain
= make_cleanup_ui_out_tuple_begin_end (uiout, "option");
ui_out_field_string (uiout, "name", list->name);
ui_out_text (uiout, ": ");
do_setshow_command ((char *) NULL, from_tty, list);
if (list->type == show_cmd)
do_setshow_command ((char *) NULL, from_tty, list);
else
cmd_func (list, NULL, from_tty);
/* Close the tuple. */
do_cleanups (option_chain);
}
/* Close the tuple. */
do_cleanups (showlist_chain);
}
static void