* cli/cli-decode.c (add_setshow_boolean_cmd): Replace

add_set_boolean_cmd.
(add_setshow_cmd): New function.
* command.h (add_setshow_boolean_cmd): Replace
add_set_boolean_cmd.
* remote-rdi.c (_initialize_remote_rdi): Update ``set rdiheartbeat''
and ``set rdiromatzero''.
* maint.c (_initialize_maint_cmds): Update commented out code.
* cli/cli-decode.h (add_set_boolean_cmd): Delete declaration.
* target.c (initialize_targets): Update `set
trust-readonly-sections'.
* remote.c (_initialize_remote): Update `set remotebreak'.
This commit is contained in:
Andrew Cagney 2002-06-15 21:07:59 +00:00
parent 93924b6b99
commit e707bbc264
8 changed files with 108 additions and 65 deletions

View File

@ -1,3 +1,18 @@
2002-06-15 Andrew Cagney <ac131313@redhat.com>
* cli/cli-decode.c (add_setshow_boolean_cmd): Replace
add_set_boolean_cmd.
(add_setshow_cmd): New function.
* command.h (add_setshow_boolean_cmd): Replace
add_set_boolean_cmd.
* remote-rdi.c (_initialize_remote_rdi): Update ``set rdiheartbeat''
and ``set rdiromatzero''.
* maint.c (_initialize_maint_cmds): Update commented out code.
* cli/cli-decode.h (add_set_boolean_cmd): Delete declaration.
* target.c (initialize_targets): Update `set
trust-readonly-sections'.
* remote.c (_initialize_remote): Update `set remotebreak'.
2002-06-15 Mark Kettenis <kettenis@gnu.org>
* config/i386/tm-i386.h (FUNCTION_START_OFFSET, INNER_THAN,

View File

@ -325,6 +325,35 @@ add_set_or_show_cmd (char *name,
return c;
}
/* Add element named NAME to both the command SET_LIST and SHOW_LIST.
CLASS is as in add_cmd. VAR_TYPE is the kind of thing we are
setting. VAR is address of the variable being controlled by this
command. SET_FUNC and SHOW_FUNC are the callback functions (if
non-NULL). SET_DOC and SHOW_DOC are the documentation strings. */
static struct cmd_list_element *
add_setshow_cmd (char *name,
enum command_class class,
var_types var_type, void *var,
char *set_doc, char *show_doc,
cmd_sfunc_ftype *set_func, cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
struct cmd_list_element *set;
struct cmd_list_element *show;
set = add_set_or_show_cmd (name, set_cmd, class, var_type, var,
set_doc, set_list);
if (set_func != NULL)
set_cmd_sfunc (set, set_func);
show = add_set_or_show_cmd (name, show_cmd, class, var_type, var,
show_doc, show_list);
if (show_func != NULL)
set_cmd_sfunc (show, show_func);
/* The caller often wants to modify set to include info like an
enumeration. */
return set;
}
struct cmd_list_element *
add_set_cmd (char *name,
@ -379,23 +408,26 @@ add_set_auto_boolean_cmd (char *name,
return c;
}
/* Add element named NAME to command list LIST (the list for set
or some sublist thereof).
CLASS is as in add_cmd.
VAR is address of the variable which will contain the value.
DOC is the documentation string. */
struct cmd_list_element *
add_set_boolean_cmd (char *name,
enum command_class class,
int *var,
char *doc,
struct cmd_list_element **list)
/* Add element named NAME to both the set and show command LISTs (the
list for set/show or some sublist thereof). CLASS is as in
add_cmd. VAR is address of the variable which will contain the
value. SET_DOC and SHOW_DOR are the documentation strings. */
void
add_setshow_boolean_cmd (char *name,
enum command_class class,
int *var, char *set_doc, char *show_doc,
cmd_sfunc_ftype *set_func,
cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
{
static const char *boolean_enums[] = { "on", "off", NULL };
struct cmd_list_element *c;
c = add_set_cmd (name, class, var_boolean, var, doc, list);
c = add_setshow_cmd (name, class, var_boolean, var,
set_doc, show_doc,
set_func, show_func,
set_list, show_list);
c->enums = boolean_enums;
return c;
}
/* Where SETCMD has already been added, add the corresponding show

View File

@ -299,12 +299,6 @@ extern struct cmd_list_element *add_set_auto_boolean_cmd (char *name,
char *doc,
struct cmd_list_element **list);
extern struct cmd_list_element *add_set_boolean_cmd (char *name,
enum command_class class,
int *var,
char *doc,
struct cmd_list_element **list);
extern struct cmd_list_element *add_show_from_set (struct cmd_list_element *,
struct cmd_list_element
**);

View File

@ -229,11 +229,15 @@ extern struct cmd_list_element *add_set_auto_boolean_cmd (char *name,
char *doc,
struct cmd_list_element **list);
extern struct cmd_list_element *add_set_boolean_cmd (char *name,
enum command_class class,
int *var,
char *doc,
struct cmd_list_element **list);
extern void add_setshow_boolean_cmd (char *name,
enum command_class class,
int *var,
char *set_doc,
char *show_doc,
cmd_sfunc_ftype *set_func,
cmd_sfunc_ftype *show_func,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list);
extern struct cmd_list_element *add_show_from_set (struct cmd_list_element *,
struct cmd_list_element

View File

@ -783,16 +783,15 @@ passes without a response from the target, an error occurs.", &setlist),
#ifdef NOTYET
/* FIXME: cagney/2001-09-24: A patch introducing a
add_set_boolean_cmd() is pending, the below should probably use
it. A patch implementing profiling is pending, this just sets up
the framework. */
tmpcmd = add_set_cmd ("profile", class_maintenance,
var_boolean, &maintenance_profile_p,
"Set internal profiling.\n\
When enabled GDB is profiled.",
&maintenance_set_cmdlist);
set_cmd_sfunc (tmpcmd, maintenance_set_profile_cmd);
add_show_from_set (tmpcmd, &maintenance_show_cmdlist);
/* FIXME: cagney/2002-06-15: A patch implementing profiling is
pending, this just sets up the framework. */
tmpcmd = add_setshow_boolean_cmd ("profile", class_maintenance,
var_boolean, &maintenance_profile_p, "\
Set internal profiling.\n\
When enabled GDB is profiled.", "\
Show internal profiling.\n",
maintenance_set_profile_cmd, NULL,
&maintenance_set_cmdlist,
&maintenance_show_cmdlist);
#endif
}

View File

@ -1041,24 +1041,24 @@ _initialize_remote_rdi (void)
"Withough an argument, it will display current state.\n",
&maintenancelist);
add_show_from_set
(add_set_boolean_cmd
("rdiromatzero", no_class, &rom_at_zero,
"Set target has ROM at addr 0.\n"
"A true value disables vector catching, false enables vector catching.\n"
"This is evaluated at the time the 'target rdi' command is executed\n",
&setlist),
&showlist);
add_setshow_boolean_cmd
("rdiromatzero", no_class, &rom_at_zero,
"Set target has ROM at addr 0.\n"
"A true value disables vector catching, false enables vector catching.\n"
"This is evaluated at the time the 'target rdi' command is executed\n",
"Show if target has ROM at addr 0.\n",
NULL, NULL,
&setlist, &showlist);
add_show_from_set
(add_set_boolean_cmd
("rdiheartbeat", no_class, &rdi_heartbeat,
"Set enable for ADP heartbeat packets.\n"
"I don't know why you would want this. If you enable them,\n"
"it will confuse ARM and EPI JTAG interface boxes as well\n"
"as the Angel Monitor.\n",
&setlist),
&showlist);
add_setshow_boolean_cmd
("rdiheartbeat", no_class, &rdi_heartbeat,
"Set enable for ADP heartbeat packets.\n"
"I don't know why you would want this. If you enable them,\n"
"it will confuse ARM and EPI JTAG interface boxes as well\n"
"as the Angel Monitor.\n",
"Show enable for ADP heartbeat packets.\n",
NULL, NULL,
&setlist, &showlist);
}
/* A little dummy to make linking with the library succeed. */

View File

@ -6069,11 +6069,11 @@ response packet. GDB supplies the initial `$' character, and the\n\
terminating `#' character and checksum.",
&maintenancelist);
add_show_from_set
(add_set_boolean_cmd ("remotebreak", no_class, &remote_break,
"Set whether to send break if interrupted.\n",
&setlist),
&showlist);
add_setshow_boolean_cmd ("remotebreak", no_class, &remote_break,
"Set whether to send break if interrupted.\n",
"Show whether to send break if interrupted.\n",
NULL, NULL,
&setlist, &showlist);
/* Install commands for configuring memory read/write packets. */

View File

@ -2299,16 +2299,15 @@ initialize_targets (void)
When non-zero, target debugging is enabled.", &setdebuglist),
&showdebuglist);
add_show_from_set
(add_set_boolean_cmd
("trust-readonly-sections", class_support,
&trust_readonly,
"Set mode for reading from readonly sections.\n\
add_setshow_boolean_cmd ("trust-readonly-sections", class_support,
&trust_readonly, "\
Set mode for reading from readonly sections.\n\
When this mode is on, memory reads from readonly sections (such as .text)\n\
will be read from the object file instead of from the target. This will\n\
result in significant performance improvement for remote targets.",
&setlist),
&showlist);
result in significant performance improvement for remote targets.", "\
Set mode for reading from readonly sections.\n",
NULL, NULL,
&setlist, &showlist);
add_com ("monitor", class_obscure, do_monitor_command,
"Send a command to the remote monitor (remote targets only).");