diff options
author | Andrew Cagney <cagney@redhat.com> | 2002-06-15 21:07:59 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2002-06-15 21:07:59 +0000 |
commit | 1deb37769b16f0869be3328fd159633de67c929c (patch) | |
tree | b9d6cee1636fa84e0eae5d51fa06f9d2186a4e29 | |
parent | c5d4b5de44e8836345a9164d2390fc5063f6bcc6 (diff) | |
download | gdb-1deb37769b16f0869be3328fd159633de67c929c.tar.gz |
* 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'.
-rw-r--r-- | gdb/ChangeLog | 15 | ||||
-rw-r--r-- | gdb/cli/cli-decode.c | 58 | ||||
-rw-r--r-- | gdb/cli/cli-decode.h | 6 | ||||
-rw-r--r-- | gdb/command.h | 14 | ||||
-rw-r--r-- | gdb/maint.c | 21 | ||||
-rw-r--r-- | gdb/remote-rdi.c | 36 | ||||
-rw-r--r-- | gdb/remote.c | 10 | ||||
-rw-r--r-- | gdb/target.c | 15 |
8 files changed, 109 insertions, 66 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6d371f5f130..0b5f826a4c2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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, diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index 77e893fbdf3..b552c531388 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -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 diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h index 4c440aff407..c5d06d5cf61 100644 --- a/gdb/cli/cli-decode.h +++ b/gdb/cli/cli-decode.h @@ -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 **); diff --git a/gdb/command.h b/gdb/command.h index afc84e467f7..75462e5d645 100644 --- a/gdb/command.h +++ b/gdb/command.h @@ -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 diff --git a/gdb/maint.c b/gdb/maint.c index ddaa390b683..f09703f7729 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -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 } diff --git a/gdb/remote-rdi.c b/gdb/remote-rdi.c index 5243f9bd28f..228e3d98c37 100644 --- a/gdb/remote-rdi.c +++ b/gdb/remote-rdi.c @@ -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_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 + ("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_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. */ diff --git a/gdb/remote.c b/gdb/remote.c index 9b3a4a82fac..c6bfc66993b 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -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. */ diff --git a/gdb/target.c b/gdb/target.c index 2cd492809f4..69f034513e4 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -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)."); |