0b39b52e6e
This changes add_com to take a cmd_const_cfunc_ftype, and then fixes up all the command implementations. In most cases this is trivial. In a couple of places I had to again introduce a temporary non-const overload. These overloads will be removed when add_info is constified. gdb/ChangeLog 2017-11-07 Tom Tromey <tom@tromey.com> * solib.h (no_shared_libraries): Constify. * frame.h (return_command): Constify. * cli/cli-cmds.h (quit_command): Constify. * top.h (quit_command, execute_command): Constify. * target.h (flash_erase_command): Constify. * inferior.h (set_inferior_args, attach_command): Constify. * tracepoint.h (start_tracing, stop_tracing): Constify. * breakpoint.h (break_command, tbreak_command) (hbreak_command_wrapper, thbreak_command_wrapper) (rbreak_command_wrapper, watch_command_wrapper) (awatch_command_wrapper, rwatch_command_wrapper) (get_tracepoint_by_number): Constify. * symtab.c (info_variables_command, rbreak_command) (symtab_symbol_info): Constify. (info_variables_command): Add non-const overload. * top.c (dont_repeat_command): Constify. * breakpoint.c (ignore_command, commands_command) (condition_command, tbreak_command, hbreak_command) (thbreak_command, clear_command, break_command) (info_breakpoints_command, watch_command, rwatch_command) (awatch_command, trace_command, ftrace_command, strace_command) (trace_pass_command, break_range_command, dprintf_command) (agent_printf_command, get_tracepoint_by_number) (watch_maybe_just_location, trace_pass_command): Constify. (info_breakpoints_command): Add non-const overload. * tracefile.c (tsave_command): Constify. * infcmd.c (attach_command, disconnect_command, signal_command) (queue_signal_command, stepi_command, nexti_command) (finish_command, next_command, step_command, until_command) (advance_command, jump_command, continue_command, run_command) (start_command, starti_command, interrupt_command) (run_command_1, set_inferior_args, step_1): Constify. * inferior.c (add_inferior_command, remove_inferior_command) (clone_inferior_command): Constify. * linux-fork.c (checkpoint_command, restart_command): Constify. * windows-nat.c (signal_event_command): Constify. * guile/guile.c (guile_repl_command, guile_command): Constify. * printcmd.c (x_command, display_command, printf_command) (output_command, set_command, call_command, print_command) (eval_command): Constify. (non_const_set_command): Remove. (_initialize_printcmd): Update. * source.c (forward_search_command, reverse_search_command): Constify. * jit.c (jit_reader_load_command, jit_reader_unload_command): Constify. * infrun.c (handle_command): Constify. * memattr.c (mem_command): Constify. * stack.c (return_command, up_command, up_silently_command) (down_command, down_silently_command, frame_command) (backtrace_command, func_command, backtrace_command_1): Constify. (backtrace_command): Add non-const overload. * remote-sim.c (simulator_command): Constify. * exec.c (set_section_command): Constify. * tracepoint.c (tdump_command, trace_variable_command) (tstatus_command, tstop_command, tstart_command) (end_actions_pseudocommand, while_stepping_pseudocommand) (collect_pseudocommand, teval_pseudocommand, actions_command) (start_tracing, stop_tracing): Constify. * value.c (init_if_undefined_command): Constify. * tui/tui-stack.c (tui_update_command): Constify. * tui/tui-win.c (tui_refresh_all_command) (tui_set_tab_width_command, tui_set_win_height_command) (tui_set_focus_command, tui_scroll_forward_command) (tui_scroll_backward_command, tui_scroll_left_command) (tui_scroll_right_command, parse_scrolling_args, tui_set_focus) (tui_set_win_height): Constify. * tui/tui-layout.c (tui_layout_command): Constify. * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd) (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd) (proc_untrace_sysexit_cmd): Constify. * remote.c (threadlist_test_cmd, threadinfo_test_cmd) (threadset_test_cmd, threadlist_update_test_cmd) (threadalive_test): Constify. * objc-lang.c (print_object_command): Constify. * command.h (add_com): Constify. * cli/cli-dump.c (restore_command): Constify. * cli/cli-cmds.c (pwd_command, echo_command, quit_command) (help_command, complete_command, shell_command, edit_command) (list_command, disassemble_command, make_command) (apropos_command, alias_command): Constify. * cli/cli-script.c (document_command, define_command) (while_command, if_command, validate_comname): Constify. * cli/cli-decode.c (struct cmd_list_element): Change type of "fun". * target.c (do_monitor_command, flash_erase_command): Constify. * regcache.c (reg_flush_command): Constify. * reverse.c (reverse_step, reverse_next, reverse_stepi) (reverse_nexti, reverse_continue, reverse_finish) (save_bookmark_command, goto_bookmark_command) (exec_reverse_once): Constify. * python/python.c (python_interactive_command, python_command): Constify. * typeprint.c (ptype_command, whatis_command, whatis_exp): Constify. * solib.c (sharedlibrary_command, no_shared_libraries): Constify. * gcore.c (gcore_command): Constify.
127 lines
4.2 KiB
C
127 lines
4.2 KiB
C
/* Shared library declarations for GDB, the GNU Debugger.
|
|
|
|
Copyright (C) 1992-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/>. */
|
|
|
|
#ifndef SOLIB_H
|
|
#define SOLIB_H
|
|
|
|
/* Forward decl's for prototypes */
|
|
struct so_list;
|
|
struct target_ops;
|
|
struct target_so_ops;
|
|
struct program_space;
|
|
|
|
#include "symfile-add-flags.h"
|
|
|
|
/* List of known shared objects */
|
|
#define so_list_head current_program_space->so_list
|
|
|
|
/* Called when we free all symtabs, to free the shared library information
|
|
as well. */
|
|
|
|
extern void clear_solib (void);
|
|
|
|
/* Called to add symbols from a shared library to gdb's symbol table. */
|
|
|
|
extern void solib_add (const char *, int, int);
|
|
extern int solib_read_symbols (struct so_list *, symfile_add_flags);
|
|
|
|
/* Function to be called when the inferior starts up, to discover the
|
|
names of shared libraries that are dynamically linked, the base
|
|
addresses to which they are linked, and sufficient information to
|
|
read in their symbols at a later time. */
|
|
|
|
extern void solib_create_inferior_hook (int from_tty);
|
|
|
|
/* If ADDR lies in a shared library, return its name. */
|
|
|
|
extern char *solib_name_from_address (struct program_space *, CORE_ADDR);
|
|
|
|
/* Return 1 if ADDR lies within SOLIB. */
|
|
|
|
extern int solib_contains_address_p (const struct so_list *, CORE_ADDR);
|
|
|
|
/* Return whether the data starting at VADDR, size SIZE, must be kept
|
|
in a core file for shared libraries loaded before "gcore" is used
|
|
to be handled correctly when the core file is loaded. This only
|
|
applies when the section would otherwise not be kept in the core
|
|
file (in particular, for readonly sections). */
|
|
|
|
extern int solib_keep_data_in_core (CORE_ADDR vaddr, unsigned long size);
|
|
|
|
/* Return 1 if PC lies in the dynamic symbol resolution code of the
|
|
run time loader. */
|
|
|
|
extern int in_solib_dynsym_resolve_code (CORE_ADDR);
|
|
|
|
/* Discard symbols that were auto-loaded from shared libraries. */
|
|
|
|
extern void no_shared_libraries (const char *ignored, int from_tty);
|
|
|
|
/* Set the solib operations for GDBARCH to NEW_OPS. */
|
|
|
|
extern void set_solib_ops (struct gdbarch *gdbarch,
|
|
const struct target_so_ops *new_ops);
|
|
|
|
/* Synchronize GDB's shared object list with inferior's.
|
|
|
|
Extract the list of currently loaded shared objects from the
|
|
inferior, and compare it with the list of shared objects currently
|
|
in GDB's so_list_head list. Edit so_list_head to bring it in sync
|
|
with the inferior's new list.
|
|
|
|
If we notice that the inferior has unloaded some shared objects,
|
|
free any symbolic info GDB had read about those shared objects.
|
|
|
|
Don't load symbolic info for any new shared objects; just add them
|
|
to the list, and leave their symbols_loaded flag clear.
|
|
|
|
If FROM_TTY is non-null, feel free to print messages about what
|
|
we're doing. */
|
|
|
|
extern void update_solib_list (int from_tty);
|
|
|
|
/* Return non-zero if NAME is the libpthread shared library. */
|
|
|
|
extern int libpthread_name_p (const char *name);
|
|
|
|
/* Look up symbol from both symbol table and dynamic string table. */
|
|
|
|
extern CORE_ADDR gdb_bfd_lookup_symbol (bfd *abfd,
|
|
int (*match_sym) (const asymbol *,
|
|
const void *),
|
|
const void *data);
|
|
|
|
/* Look up symbol from symbol table. */
|
|
|
|
extern CORE_ADDR gdb_bfd_lookup_symbol_from_symtab (bfd *abfd,
|
|
int (*match_sym)
|
|
(const asymbol *,
|
|
const void *),
|
|
const void *data);
|
|
|
|
/* Enable or disable optional solib event breakpoints as appropriate. */
|
|
|
|
extern void update_solib_breakpoints (void);
|
|
|
|
/* Handle an solib event by calling solib_add. */
|
|
|
|
extern void handle_solib_event (void);
|
|
|
|
#endif /* SOLIB_H */
|