mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
1d12d88f18
This patch constifies add_info and updates all the info commands. The bulk of this patch was written using a script; and then I did a manual pass to fix up the remaining compilation errors. I could not compile every changed file; in particular nto-procfs.c, gnu-nat.c, and darwin-nat-info.c; but I at least tried to check the correctness by inspection. gdb/ChangeLog 2017-11-07 Tom Tromey <tom@tromey.com> * frame.h (info_locals_command, info_args_command): Constify. * auto-load.h (auto_load_info_scripts): Constify. * inferior.h (registers_info): Constify. * copying.c: Rebuild. * copying.awk: Constify generated commands. * auto-load.c (auto_load_info_scripts) (info_auto_load_gdb_scripts): Constify. * cli/cli-decode.c (struct cmd_list_element): Take a cmd_const_cfunc_ftype. * command.h (add_info): Take a cmd_const_cfunc_ftype. * tui/tui-win.c (tui_all_windows_info): Constify. * python/py-auto-load.c (info_auto_load_python_scripts): Constify. * cli/cli-cmds.c (show_command): Remove non-const overload. * tracepoint.c (info_tvariables_command, info_scope_command): Constify. (info_static_tracepoint_markers_command): Constify. * thread.c (info_threads_command): Constify. (print_thread_info_1): Constify. * target.c (info_target_command): Constify. * symtab.c (info_sources_command, info_functions_command) (info_types_command): Constify. (info_variables_command): Remove non-const overload. * symfile.c (info_ext_lang_command): Constify. * stack.c (info_frame_command, info_locals_command) (info_args_command): Constify. (backtrace_command): Remove non-const overload. * source.c (info_source_command, info_line_command): Constify. * solib.c (info_sharedlibrary_command): Constify. * skip.c (info_skip_command): Constify. * ser-go32.c (info_serial_command): Constify. * reverse.c (info_bookmarks_command): Constify. * printcmd.c (info_symbol_command, info_address_command) (info_display_command): Constify. * osdata.c (info_osdata_command): Constify. * objc-lang.c (info_selectors_command, info_classes_command): Constify. * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify. * memattr.c (info_mem_command): Constify. * macrocmd.c (info_macro_command, info_macros_command): Constify. * linux-fork.c (info_checkpoints_command): Constify. * infrun.c (info_signals_command): Constify. * inflow.c (info_terminal_command): Constify. * inferior.c (info_inferiors_command): Constify. (print_inferior): Constify. * infcmd.c (info_program_command, info_all_registers_command) (info_registers_command, info_vector_command) (info_float_command): Constify. (registers_info): Constify. * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd) (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd): Constify. * f-valprint.c (info_common_command): Constify. * dcache.c (info_dcache_command): Constify. (dcache_info_1): Constify. * darwin-nat-info.c (info_mach_tasks_command) (info_mach_task_command, info_mach_ports_command) (info_mach_port_command, info_mach_threads_command) (info_mach_thread_command, info_mach_regions_command) (info_mach_regions_recurse_command, info_mach_region_command) (info_mach_exceptions_command): Constify. (get_task_from_args): Constify. * cp-support.c (info_vtbl_command): Constify. * breakpoint.c (info_watchpoints_command) (info_tracepoints_command): Constify. (info_breakpoints_command): Remove non-const overload. * avr-tdep.c (avr_io_reg_read_command): Constify. * auxv.c (info_auxv_command): Constify. * ada-tasks.c (info_tasks_command): Constify. (info_task): Constify. * ada-lang.c (info_exceptions_command): Constify.
106 lines
3.7 KiB
C
106 lines
3.7 KiB
C
/* GDB routines for supporting auto-loaded scripts.
|
||
|
||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||
|
||
This file is part of GDB.
|
||
|
||
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/>. */
|
||
|
||
#include "defs.h"
|
||
#include "top.h"
|
||
#include "gdbcmd.h"
|
||
#include "objfiles.h"
|
||
#include "python.h"
|
||
#include "auto-load.h"
|
||
#include "python-internal.h"
|
||
|
||
/* User-settable option to enable/disable auto-loading of Python scripts:
|
||
set auto-load python-scripts on|off
|
||
This is true if we should auto-load associated Python scripts when an
|
||
objfile is opened, false otherwise. */
|
||
static int auto_load_python_scripts = 1;
|
||
|
||
/* "show" command for the auto_load_python_scripts configuration variable. */
|
||
|
||
static void
|
||
show_auto_load_python_scripts (struct ui_file *file, int from_tty,
|
||
struct cmd_list_element *c, const char *value)
|
||
{
|
||
fprintf_filtered (file, _("Auto-loading of Python scripts is %s.\n"), value);
|
||
}
|
||
|
||
/* Return non-zero if auto-loading Python scripts is enabled.
|
||
This is the extension_language_script_ops.auto_load_enabled "method". */
|
||
|
||
int
|
||
gdbpy_auto_load_enabled (const struct extension_language_defn *extlang)
|
||
{
|
||
return auto_load_python_scripts;
|
||
}
|
||
|
||
/* Wrapper for "info auto-load python-scripts". */
|
||
|
||
static void
|
||
info_auto_load_python_scripts (const char *pattern, int from_tty)
|
||
{
|
||
auto_load_info_scripts (pattern, from_tty, &extension_language_python);
|
||
}
|
||
|
||
int
|
||
gdbpy_initialize_auto_load (void)
|
||
{
|
||
struct cmd_list_element *cmd;
|
||
const char *cmd_name;
|
||
|
||
add_setshow_boolean_cmd ("python-scripts", class_support,
|
||
&auto_load_python_scripts, _("\
|
||
Set the debugger's behaviour regarding auto-loaded Python scripts."), _("\
|
||
Show the debugger's behaviour regarding auto-loaded Python scripts."), _("\
|
||
If enabled, auto-loaded Python scripts are loaded when the debugger reads\n\
|
||
an executable or shared library.\n\
|
||
This options has security implications for untrusted inferiors."),
|
||
NULL, show_auto_load_python_scripts,
|
||
auto_load_set_cmdlist_get (),
|
||
auto_load_show_cmdlist_get ());
|
||
|
||
add_setshow_boolean_cmd ("auto-load-scripts", class_support,
|
||
&auto_load_python_scripts, _("\
|
||
Set the debugger's behaviour regarding auto-loaded Python scripts, "
|
||
"deprecated."),
|
||
_("\
|
||
Show the debugger's behaviour regarding auto-loaded Python scripts, "
|
||
"deprecated."),
|
||
NULL, NULL, show_auto_load_python_scripts,
|
||
&setlist, &showlist);
|
||
cmd_name = "auto-load-scripts";
|
||
cmd = lookup_cmd (&cmd_name, setlist, "", -1, 1);
|
||
deprecate_cmd (cmd, "set auto-load python-scripts");
|
||
|
||
/* It is needed because lookup_cmd updates the CMD_NAME pointer. */
|
||
cmd_name = "auto-load-scripts";
|
||
cmd = lookup_cmd (&cmd_name, showlist, "", -1, 1);
|
||
deprecate_cmd (cmd, "show auto-load python-scripts");
|
||
|
||
add_cmd ("python-scripts", class_info, info_auto_load_python_scripts,
|
||
_("Print the list of automatically loaded Python scripts.\n\
|
||
Usage: info auto-load python-scripts [REGEXP]"),
|
||
auto_load_info_cmdlist_get ());
|
||
|
||
cmd = add_info ("auto-load-scripts", info_auto_load_python_scripts, _("\
|
||
Print the list of automatically loaded Python scripts, deprecated."));
|
||
deprecate_cmd (cmd, "info auto-load python-scripts");
|
||
|
||
return 0;
|
||
}
|