mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-05 12:53:16 +08:00
50a5f1878e
We currently have two flushing commands 'flushregs' and 'maint flush-symbol-cache'. I'm planning to add at least one more so I thought it might be nice if we bundled these together into one place. And so I created the 'maint flush ' command prefix. Currently there are two commands: (gdb) maint flush symbol-cache (gdb) maint flush register-cache Unfortunately, even though both of the existing flush commands are maintenance commands, I don't know how keen we about deleting existing commands for fear of breaking things in the wild. So, both of the existing flush commands 'maint flush-symbol-cache' and 'flushregs' are still around as deprecated aliases to the new commands. I've updated the testsuite to use the new command syntax, and updated the documentation too. gdb/ChangeLog: * NEWS: Mention new commands, and that the old commands are now deprecated. * cli/cli-cmds.c (maintenanceflushlist): Define. * cli/cli-cmds.h (maintenanceflushlist): Declare. * maint.c (_initialize_maint_cmds): Initialise maintenanceflushlist. * regcache.c: Add 'cli/cli-cmds.h' include. (reg_flush_command): Add header comment. (_initialize_regcache): Create new 'maint flush register-cache' command, make 'flushregs' an alias. * symtab.c: Add 'cli/cli-cmds.h' include. (_initialize_symtab): Create new 'maint flush symbol-cache' command, make old command an alias. gdb/doc/ChangeLog: * gdb.texinfo (Symbols): Document 'maint flush symbol-cache'. (Maintenance Commands): Document 'maint flush register-cache'. gdb/testsuite/ChangeLog: * gdb.base/c-linkage-name.exp: Update to use new 'maint flush ...' commands. * gdb.base/killed-outside.exp: Likewise. * gdb.opt/inline-bt.exp: Likewise. * gdb.perf/gmonster-null-lookup.py: Likewise. * gdb.perf/gmonster-print-cerr.py: Likewise. * gdb.perf/gmonster-ptype-string.py: Likewise. * gdb.python/py-unwind.exp: Likewise.
168 lines
4.6 KiB
C++
168 lines
4.6 KiB
C++
/* Header file for GDB CLI command implementation library.
|
|
Copyright (C) 2000-2020 Free Software Foundation, Inc.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef CLI_CLI_CMDS_H
|
|
#define CLI_CLI_CMDS_H
|
|
|
|
#include "gdbsupport/filestuff.h"
|
|
#include "gdbsupport/gdb_optional.h"
|
|
#include "completer.h"
|
|
|
|
/* Chain containing all defined commands. */
|
|
|
|
extern struct cmd_list_element *cmdlist;
|
|
|
|
/* Chain containing all defined info subcommands. */
|
|
|
|
extern struct cmd_list_element *infolist;
|
|
|
|
/* Chain containing all defined enable subcommands. */
|
|
|
|
extern struct cmd_list_element *enablelist;
|
|
|
|
/* Chain containing all defined disable subcommands. */
|
|
|
|
extern struct cmd_list_element *disablelist;
|
|
|
|
/* Chain containing all defined delete subcommands. */
|
|
|
|
extern struct cmd_list_element *deletelist;
|
|
|
|
/* Chain containing all defined detach subcommands. */
|
|
|
|
extern struct cmd_list_element *detachlist;
|
|
|
|
/* Chain containing all defined kill subcommands. */
|
|
|
|
extern struct cmd_list_element *killlist;
|
|
|
|
/* Chain containing all defined stop subcommands. */
|
|
|
|
extern struct cmd_list_element *stoplist;
|
|
|
|
/* Chain containing all defined set subcommands */
|
|
|
|
extern struct cmd_list_element *setlist;
|
|
|
|
/* Chain containing all defined unset subcommands */
|
|
|
|
extern struct cmd_list_element *unsetlist;
|
|
|
|
/* Chain containing all defined show subcommands. */
|
|
|
|
extern struct cmd_list_element *showlist;
|
|
|
|
/* Chain containing all defined \"set history\". */
|
|
|
|
extern struct cmd_list_element *sethistlist;
|
|
|
|
/* Chain containing all defined \"show history\". */
|
|
|
|
extern struct cmd_list_element *showhistlist;
|
|
|
|
/* Chain containing all defined \"unset history\". */
|
|
|
|
extern struct cmd_list_element *unsethistlist;
|
|
|
|
/* Chain containing all defined maintenance subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenancelist;
|
|
|
|
/* Chain containing all defined "maintenance info" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenanceinfolist;
|
|
|
|
/* Chain containing all defined "maintenance print" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenanceprintlist;
|
|
|
|
/* Chain containing all defined "maintenance flush" subcommands. */
|
|
|
|
extern struct cmd_list_element *maintenanceflushlist;
|
|
|
|
extern struct cmd_list_element *setprintlist;
|
|
|
|
extern struct cmd_list_element *showprintlist;
|
|
|
|
extern struct cmd_list_element *setdebuglist;
|
|
|
|
extern struct cmd_list_element *showdebuglist;
|
|
|
|
extern struct cmd_list_element *setchecklist;
|
|
|
|
extern struct cmd_list_element *showchecklist;
|
|
|
|
/* Limit the call depth of user-defined commands */
|
|
|
|
extern unsigned int max_user_call_depth;
|
|
|
|
/* Exported to gdb/top.c */
|
|
|
|
void init_cmd_lists (void);
|
|
|
|
int is_complete_command (struct cmd_list_element *cmd);
|
|
|
|
/* Exported to gdb/main.c */
|
|
|
|
extern void cd_command (const char *, int);
|
|
|
|
/* Exported to gdb/top.c and gdb/main.c */
|
|
|
|
extern void quit_command (const char *, int);
|
|
|
|
extern void source_script (const char *, int);
|
|
|
|
/* Exported to objfiles.c. */
|
|
|
|
/* The script that was opened. */
|
|
struct open_script
|
|
{
|
|
gdb_file_up stream;
|
|
gdb::unique_xmalloc_ptr<char> full_path;
|
|
|
|
open_script (gdb_file_up &&stream_,
|
|
gdb::unique_xmalloc_ptr<char> &&full_path_)
|
|
: stream (std::move (stream_)),
|
|
full_path (std::move (full_path_))
|
|
{
|
|
}
|
|
};
|
|
|
|
extern gdb::optional<open_script>
|
|
find_and_open_script (const char *file, int search_path);
|
|
|
|
/* Command tracing state. */
|
|
|
|
extern int source_verbose;
|
|
extern bool trace_commands;
|
|
|
|
/* Common code for the "with" and "maintenance with" commands.
|
|
SET_CMD_PREFIX is the spelling of the corresponding "set" command
|
|
prefix: i.e., "set " or "maintenance set ". SETLIST is the command
|
|
element for the same "set" command prefix. */
|
|
extern void with_command_1 (const char *set_cmd_prefix,
|
|
cmd_list_element *setlist,
|
|
const char *args, int from_tty);
|
|
|
|
/* Common code for the completers of the "with" and "maintenance with"
|
|
commands. SET_CMD_PREFIX is the spelling of the corresponding
|
|
"set" command prefix: i.e., "set " or "maintenance set ". */
|
|
extern void with_command_completer_1 (const char *set_cmd_prefix,
|
|
completion_tracker &tracker,
|
|
const char *text);
|
|
|
|
#endif /* CLI_CLI_CMDS_H */
|