1999-04-16 09:35:26 +08:00
|
|
|
/* Top level stuff for GDB, the GNU debugger.
|
2005-01-18 00:17:36 +08:00
|
|
|
|
2012-01-04 16:28:28 +08:00
|
|
|
Copyright (C) 1986-1994, 1996-2000, 2005-2012 Free Software
|
|
|
|
Foundation, Inc.
|
1999-04-16 09:35:26 +08:00
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
This file is part of GDB.
|
1999-04-16 09:35:26 +08:00
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
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
|
2007-08-24 02:08:50 +08:00
|
|
|
the Free Software Foundation; either version 3 of the License, or
|
1999-07-08 04:19:36 +08:00
|
|
|
(at your option) any later version.
|
1999-04-16 09:35:26 +08:00
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
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.
|
1999-04-16 09:35:26 +08:00
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
You should have received a copy of the GNU General Public License
|
2007-08-24 02:08:50 +08:00
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
2001-10-22 03:20:30 +08:00
|
|
|
#ifndef TOP_H
|
|
|
|
#define TOP_H
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
/* From top.c. */
|
2011-06-13 18:55:27 +08:00
|
|
|
extern char *saved_command_line;
|
|
|
|
extern int saved_command_line_size;
|
1999-04-16 09:35:26 +08:00
|
|
|
extern FILE *instream;
|
2006-03-30 06:53:33 +08:00
|
|
|
extern int in_user_command;
|
|
|
|
extern int caution;
|
1999-04-16 09:35:26 +08:00
|
|
|
extern char gdb_dirbuf[1024];
|
|
|
|
extern int inhibit_gdbinit;
|
|
|
|
extern int epoch_interface;
|
|
|
|
extern char gdbinit[];
|
|
|
|
|
2000-02-02 08:21:19 +08:00
|
|
|
extern void print_gdb_version (struct ui_file *);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
2000-05-28 09:12:42 +08:00
|
|
|
extern void read_command_file (FILE *);
|
|
|
|
extern void init_history (void);
|
|
|
|
extern void command_loop (void);
|
|
|
|
extern int quit_confirm (void);
|
|
|
|
extern void quit_force (char *, int);
|
|
|
|
extern void quit_command (char *, int);
|
2011-09-21 23:21:28 +08:00
|
|
|
extern void quit_cover (void);
|
2000-05-28 09:12:42 +08:00
|
|
|
extern void execute_command (char *, int);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
2011-12-17 04:29:28 +08:00
|
|
|
extern void check_frame_language_change (void);
|
|
|
|
|
2009-09-01 04:18:46 +08:00
|
|
|
/* Prepare for execution of a command.
|
2011-05-13 12:34:25 +08:00
|
|
|
Call this before every command, CLI or MI.
|
|
|
|
Returns a cleanup to be run after the command is completed. */
|
|
|
|
extern struct cleanup *prepare_execute_command (void);
|
2009-09-01 04:18:46 +08:00
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
/* This function returns a pointer to the string that is used
|
2010-12-29 08:58:14 +08:00
|
|
|
by gdb for its command prompt. */
|
2011-09-06 Pedro Alves <pedro@codesourcery.com>
* event-top.h (MAXPROMPTS, struct prompts): Delete.
(set_async_annotation_level, set_async_prompt, pop_prompt)
(push_prompt, new_async_prompt): Delete declarations.
* top.h (get_prompt, set_prompt): Change prototype.
(get_prefix, set_prefix, get_suffix, set_suffix): Delete
declarations.
* top.c (command_loop):
(top_prompt): New global.
(get_prefix, set_prefix, get_suffix, ): Delete.
(get_prompt, set_prompt): Rewrite.
(show_new_async_prompt): Rename to ...
(show_prompt): ... this.
(init_main): Adjust. Don't handle --annotate=2 here.
* event-top.c (new_async_prompt): Delete.
(the_prompts): Delete.
(more_to_come): Make static.
(display_gdb_prompt): Use top_level_prompt() to compute the top
level prompt, and don't notify the before_prompt observers
directly here. Always trick readline into not trying to display
the prompt if sync_execution and displaying the primary prompt.
If displaying a local/secondary prompt, always show it, even if
sync_execution is set.
(change_annotation_level): Delete.
(top_level_prompt): New, based on change_annotation_level.
(push_prompt, pop_prompt): Delete.
(async_disable_stdin): No longer pushes prompt.
(command_line_handler): No longer pushes or pops prompt. If more
input is expected, call display_gdb_prompt with an explicit empty
prompt.
(async_stop_sig): Adjust.
(set_async_annotation_level, set_async_prompt): Delete.
* python/python.c (before_prompt_hook): Adjust.
2011-09-06 22:49:00 +08:00
|
|
|
extern char *get_prompt (void);
|
2011-07-22 17:22:50 +08:00
|
|
|
|
|
|
|
/* This function returns a pointer to the string that is used
|
2011-09-06 Pedro Alves <pedro@codesourcery.com>
* event-top.h (MAXPROMPTS, struct prompts): Delete.
(set_async_annotation_level, set_async_prompt, pop_prompt)
(push_prompt, new_async_prompt): Delete declarations.
* top.h (get_prompt, set_prompt): Change prototype.
(get_prefix, set_prefix, get_suffix, set_suffix): Delete
declarations.
* top.c (command_loop):
(top_prompt): New global.
(get_prefix, set_prefix, get_suffix, ): Delete.
(get_prompt, set_prompt): Rewrite.
(show_new_async_prompt): Rename to ...
(show_prompt): ... this.
(init_main): Adjust. Don't handle --annotate=2 here.
* event-top.c (new_async_prompt): Delete.
(the_prompts): Delete.
(more_to_come): Make static.
(display_gdb_prompt): Use top_level_prompt() to compute the top
level prompt, and don't notify the before_prompt observers
directly here. Always trick readline into not trying to display
the prompt if sync_execution and displaying the primary prompt.
If displaying a local/secondary prompt, always show it, even if
sync_execution is set.
(change_annotation_level): Delete.
(top_level_prompt): New, based on change_annotation_level.
(push_prompt, pop_prompt): Delete.
(async_disable_stdin): No longer pushes prompt.
(command_line_handler): No longer pushes or pops prompt. If more
input is expected, call display_gdb_prompt with an explicit empty
prompt.
(async_stop_sig): Adjust.
(set_async_annotation_level, set_async_prompt): Delete.
* python/python.c (before_prompt_hook): Adjust.
2011-09-06 22:49:00 +08:00
|
|
|
by gdb for its command prompt. */
|
|
|
|
extern void set_prompt (const char *s);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
/* From random places. */
|
|
|
|
extern int readnow_symbol_files;
|
1999-05-26 02:09:09 +08:00
|
|
|
|
2010-12-29 08:58:14 +08:00
|
|
|
/* Perform _initialize initialization. */
|
2000-05-28 09:12:42 +08:00
|
|
|
extern void gdb_init (char *);
|
1999-06-15 02:08:47 +08:00
|
|
|
|
2010-12-29 08:58:14 +08:00
|
|
|
/* For use by event-top.c. */
|
|
|
|
/* Variables from top.c. */
|
1999-06-15 02:08:47 +08:00
|
|
|
extern int source_line_number;
|
2010-04-08 00:54:39 +08:00
|
|
|
extern const char *source_file_name;
|
1999-06-15 02:08:47 +08:00
|
|
|
extern int history_expansion_p;
|
|
|
|
extern int server_command;
|
2003-06-03 00:02:59 +08:00
|
|
|
extern char *lim_at_start;
|
2001-10-22 03:20:30 +08:00
|
|
|
|
2003-06-08 Andrew Cagney <cagney@redhat.com>
* acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen
from GCC's acinclude.m4.
* configure.in: Check for getopt's delcaration.
* aclocal.m4, config.in, configure: Re-generate.
* main.c (error_init): Delete declaration.
* defs.h (error_init): Declare.
* rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static.
(rs6000_convert_from_func_ptr_addr): Make static.
(_initialize_rs6000_tdep): Add declaration.
* cli/cli-cmds.c (dont_repeat): Delete declaration.
(show_commands, set_verbose, show_history): Delete declaration.
* top.h (set_verbose): Add declaration.
(show_history, set_history, show_commands): Add declaration.
(do_restore_instream_cleanup): Add declaration.
* objc-lang.c (specialcmp): Make static.
(print_object_command): Make static.
(find_objc_msgsend): Make static.
(find_objc_msgcall_submethod_helper): Make static.
(find_objc_msgcall_submethod): Make static.
(_initialize_objc_language): Add declaration.
(find_implementation_from_class): Make static.
(find_implementation): Make static.
* objc-exp.y (yylex): Delete lookup_struct_typedef declaration.
* objc-lang.h (lookup_struct_typedef): Add declaration.
* cli/cli-interp.c (_initialize_cli_interp): Add declaration.
* cli/cli-script.c (clear_hook_in_cleanup): Make static.
(do_restore_user_call_depth): Make static.
(do_restore_instream_cleanup): Delete declaration.
(dont_repeat): Delete declaration.
* cli/cli-decode.c (add_abbrev_cmd): Delete function.
* cli/cli-dump.c (_initialize_cli_dump): Add declaration.
* reggroups.c (_initialize_reggroup): Add declaration.
* cp-support.c (_initialize_cp_support): Add declaration.
* cp-abi.c (_initialize_cp_abi): Add declaration.
* hpacc-abi.c (_initialize_hpacc_abi): Add declaration.
* gnu-v3-abi.c (gnuv3_baseclass_offset): Make static.
(_initialize_gnu_v3_abi): Add declaration.
* gnu-v2-abi.c (gnuv2_value_rtti_type): Make static.
(_initialize_gnu_v2_abi): Add declaration.
* frame-base.c (_initialize_frame_base): Add declaration.
* doublest.c (floatformat_from_length): Make static.
* frame-unwind.c (_initialize_frame_unwind): Add declaration.
* frame.c (create_sentinel_frame): Make static.
(_initialize_frame): Add declaration.
* top.c (do_catch_errors): Make static.
(gdb_rl_operate_and_get_next_completion): Make static.
* typeprint.c: Include "typeprint.h".
* sentinel-frame.c (sentinel_frame_prev_register): Make static.
(sentinel_frame_this_id): Make static.
* p-valprint.c (_initialize_pascal_valprint): Add declaration.
* ui-out.c (make_cleanup_ui_out_begin_end): Delete function.
* dwarf2-frame.c (dwarf2_frame_cache): Make static.
* p-exp.y (push_current_type, pop_current_type): ISO C declaration.
* dwarf2expr.h (dwarf_expr_context): ISO C declaration.
* maint.c (maintenance_print_architecture): Make static.
* signals/signals.c (_initialize_signals): Add declaration.
* std-regs.c (_initialize_frame_reg): Add declaration.
* jv-exp.y (push_variable): ISO C definition.
(push_qualified_expression_name): Ditto.
* memattr.c (_initialize_mem): Add declaration.
* remote.c (remote_check_watch_resources): Make static.
(remote_stopped_by_watchpoint): Make static.
(remote_stopped_data_address): Make static.
* d10v-tdep.c (nr_dmap_regs): Make static.
(a0_regnum): Make static.
(d10v_frame_unwind_cache): Make static.
(d10v_frame_p): Make static.
* osabi.c (show_osabi): Make static.
(_initialize_gdb_osabi): Add extern declaration.
* gdbtypes.c (make_qualified_type): Make static.
(safe_parse_type): Make static.
* macrocmd.c (_initialize_macrocmd): Add extern declaration.
* macrotab.c (macro_bcache_free): Make static.
* interps.c (interp_set_quiet): Make static.
(interpreter_exec_cmd): Make static.
* stack.h (select_frame_command): New file.
* stack.c: Include "stack.h".
(select_frame_command_wrapper): Delete function.
(select_frame_command): Make global.
* infcall.c: Include "infcall.h".
* linespec.c: Include "linespec.h".
* symfile.c (sections_overlap): Make static.
* cp-support.h (cp_initialize_namespace): ISO C declaration.
* charset.c (_initialize_charset): Add missing prototype.
* regcache.c (init_legacy_regcache_descr): Make static.
(do_regcache_xfree): Make static.
(regcache_xfer_part): Make static.
(_initialize_regcache): Add missing prototype.
* breakpoint.c (parse_breakpoint_sals): Make static.
(breakpoint_sals_to_pc): Make static.
* interps.h (clear_interpreter_hooks): ISO C declaration.
* Makefile.in (stack_h): Define.
(stack.o, typeprint.o, mi-main.o): Update dependencies.
(mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies.
Index: mi/ChangeLog
2003-06-08 Andrew Cagney <cagney@redhat.com>
* mi-parse.c (_initialize_mi_parse): Delete function.
* mi-main.c: Include "mi-main.h".
* mi-interp.c (_initialize_mi_interp): Add declaration.
* mi-cmd-stack.c: Include "stack.h".
(select_frame_command_wrapper): Delete extern declaration.
(mi_cmd_stack_select_frame): Replace select_frame_command_wrapper
with select_frame_command.
2003-06-09 02:27:14 +08:00
|
|
|
extern void show_commands (char *args, int from_tty);
|
|
|
|
|
|
|
|
extern void set_history (char *, int);
|
|
|
|
|
|
|
|
extern void show_history (char *, int);
|
|
|
|
|
|
|
|
extern void set_verbose (char *, int, struct cmd_list_element *);
|
|
|
|
|
|
|
|
extern void do_restore_instream_cleanup (void *stream);
|
|
|
|
|
2001-10-22 03:20:30 +08:00
|
|
|
#endif
|