1999-04-16 09:35:26 +08:00
|
|
|
|
/* Core dump and executable file functions above target vector, for GDB.
|
2003-01-13 Andrew Cagney <ac131313@redhat.com>
* ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright.
* demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright.
* elfread.c, eval.c, expprint.c, expression.h: Update copyright.
* f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright.
* gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright.
* language.c, language.h, m32r-tdep.c: Update copyright.
* mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright.
* somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright.
* thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright.
* values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright.
* x86-64-linux-tdep.c, z8k-tdep.c: Update copyright.
* cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright.
Index: mi/ChangeLog
2003-01-13 Andrew Cagney <ac131313@redhat.com>
* mi-cmd-env.c: Update copyright.
2003-01-14 08:49:06 +08:00
|
|
|
|
|
2005-12-18 06:34:03 +08:00
|
|
|
|
Copyright (C) 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1996, 1997,
|
2006-01-11 07:01:44 +08:00
|
|
|
|
1998, 1999, 2000, 2001, 2003, 2006
|
|
|
|
|
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
|
|
|
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
|
|
|
(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
|
|
|
|
|
along with this program; if not, write to the Free Software
|
2005-12-18 06:34:03 +08:00
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
|
|
|
Boston, MA 02110-1301, USA. */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
#include "defs.h"
|
|
|
|
|
#include "gdb_string.h"
|
|
|
|
|
#include <errno.h>
|
|
|
|
|
#include <signal.h>
|
|
|
|
|
#include <fcntl.h>
|
|
|
|
|
#include "inferior.h"
|
|
|
|
|
#include "symtab.h"
|
|
|
|
|
#include "command.h"
|
|
|
|
|
#include "gdbcmd.h"
|
|
|
|
|
#include "bfd.h"
|
|
|
|
|
#include "target.h"
|
|
|
|
|
#include "gdbcore.h"
|
|
|
|
|
#include "dis-asm.h"
|
|
|
|
|
#include "gdb_stat.h"
|
2001-07-16 02:57:06 +08:00
|
|
|
|
#include "completer.h"
|
2005-01-12 Andrew Cagney <cagney@gnu.org>
* exceptions.h (enum return_reason, RETURN_MASK)
(RETURN_MASK_QUIT, RETURN_MASK_ERROR, RETURN_MASK_ALL)
(return_mask, throw_exception, catch_exceptions_ftype)
(catch_exceptions_with_msg, catch_errors_ftype, catch_errors)
(catch_command_errors_ftype, catch_command_errors): Move to
exceptions.h.
* exceptions.c, exceptions.h: New files.
* top.c: Do not include <setjmp.h>.
(SIGJMP_BUF, SIGSETJMP, SIGLONGJMP, catch_return)
(throw_exception, catcher, catch_exceptions)
(catch_exceptions_with_msg, struct catch_errors_args)
(do_catch_errors, catch_errors, struct captured_command_args)
(do_captured_command, catch_command_errors): Move to exceptions.c.
* wrapper.c, wince.c, win32-nat.c, utils.c: Include "exceptions.h".
* tui/tui-interp.c, top.c, thread.c, symmisc.c: Ditto.
* symfile-mem.c, stack.c, solib.c, rs6000-nat.c: Ditto.
* remote-sds.c, remote-mips.c, remote-fileio.c: Ditto.
* remote-e7000.c, objc-lang.c, ocd.c: Ditto.
* remote.c, nto-procfs.c, monitor.c, mi/mi-main.c: Ditto.
* main.c, m32r-rom.c, infrun.c, inf-loop.c: Ditto.
* hppa-hpux-tdep.c, frame.c, event-top.c, event-loop.c: Ditto.
* corelow.c, corefile.c, cli/cli-interp.c, breakpoint.c: Ditto.
* ada-valprint.c, ada-lang.c: Ditto.
* Makefile.in (HFILES_NO_SRCDIR, COMMON_OBS): Add exceptions.h and
exceptions.o. Update all dependencies.
2005-01-13 02:31:35 +08:00
|
|
|
|
#include "exceptions.h"
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
/* Local function declarations. */
|
|
|
|
|
|
2000-05-28 09:12:42 +08:00
|
|
|
|
extern void _initialize_core (void);
|
|
|
|
|
static void call_extra_exec_file_hooks (char *filename);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
2004-04-21 Andrew Cagney <cagney@redhat.com>
* annotate.h (deprecated_annotate_starting_hook)
(deprecated_annotate_stopped_hook)
(deprecated_annotate_exited_hook)
(deprecated_annotate_signal_hook)
(deprecated_annotate_signalled_hook): Deprecate.
* tracepoint.h (deprecated_create_tracepoint_hook)
(deprecated_delete_tracepoint_hook)
(deprecated_modify_tracepoint_hook)
(deprecated_trace_find_hook)
(deprecated_trace_start_stop_hook): Deprecate.
* target.h (deprecated_target_new_objfile_hook): Deprecate.
* remote.h (deprecated_target_resume_hook)
(deprecated_target_wait_loop_hook): Deprecate.
* gdbcore.h (deprecated_exec_file_display_hook)
(deprecated_file_changed_hook): Deprecate.
* frame.h (deprecated_selected_frame_level_changed_hook): Deprecate.
* defs.h (deprecated_modify_breakpoint_hook)
(deprecated_command_loop_hook, deprecated_show_load_progress)
(deprecated_print_frame_info_listing_hook)
(deprecated_query_hook, deprecated_warning_hook)
(deprecated_flush_hook, deprecated_create_breakpoint_hook)
(deprecated_delete_breakpoint_hook)
(deprecated_interactive_hook, deprecated_registers_changed_hook)
(deprecated_readline_begin_hook, deprecated_readline_hook)
(deprecated_readline_end_hook, deprecated_register_changed_hook)
(deprecated_memory_changed_hook, deprecated_init_ui_hook)
(deprecated_context_hook, deprecated_target_wait_hook)
(deprecated_attach_hook, deprecated_detach_hook)
(deprecated_call_command_hook, deprecated_set_hook)
(deprecated_error_hook, deprecated_error_begin_hook)
(deprecated_ui_load_progress_hook): Deprecate.
* valops.c, uw-thread.c, utils.c, tui/tui-io.c: Update.
* tui/tui-hooks.c, tracepoint.c, top.c, thread-db.c: Update.
* target.c, symfile.c, stack.c, sol-thread.c, rs6000-nat.c: Update.
* remote.c, remote-mips.c, regcache.c, mi/mi-interp.c: Update.
* main.c, interps.c, infcmd.c, hpux-thread.c, frame.c: Update.
* exec.c, dsrec.c, d10v-tdep.c, corefile.c, complaints.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, breakpoint.c: Update.
* annotate.c, aix-thread.c: Update.
2004-04-22 07:52:21 +08:00
|
|
|
|
/* You can have any number of hooks for `exec_file_command' command to
|
|
|
|
|
call. If there's only one hook, it is set in exec_file_display
|
|
|
|
|
hook. If there are two or more hooks, they are set in
|
|
|
|
|
exec_file_extra_hooks[], and deprecated_exec_file_display_hook is
|
|
|
|
|
set to a function that calls all of them. This extra complexity is
|
|
|
|
|
needed to preserve compatibility with old code that assumed that
|
|
|
|
|
only one hook could be set, and which called
|
|
|
|
|
deprecated_exec_file_display_hook directly. */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
2000-06-04 08:41:10 +08:00
|
|
|
|
typedef void (*hook_type) (char *);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
2004-04-21 Andrew Cagney <cagney@redhat.com>
* annotate.h (deprecated_annotate_starting_hook)
(deprecated_annotate_stopped_hook)
(deprecated_annotate_exited_hook)
(deprecated_annotate_signal_hook)
(deprecated_annotate_signalled_hook): Deprecate.
* tracepoint.h (deprecated_create_tracepoint_hook)
(deprecated_delete_tracepoint_hook)
(deprecated_modify_tracepoint_hook)
(deprecated_trace_find_hook)
(deprecated_trace_start_stop_hook): Deprecate.
* target.h (deprecated_target_new_objfile_hook): Deprecate.
* remote.h (deprecated_target_resume_hook)
(deprecated_target_wait_loop_hook): Deprecate.
* gdbcore.h (deprecated_exec_file_display_hook)
(deprecated_file_changed_hook): Deprecate.
* frame.h (deprecated_selected_frame_level_changed_hook): Deprecate.
* defs.h (deprecated_modify_breakpoint_hook)
(deprecated_command_loop_hook, deprecated_show_load_progress)
(deprecated_print_frame_info_listing_hook)
(deprecated_query_hook, deprecated_warning_hook)
(deprecated_flush_hook, deprecated_create_breakpoint_hook)
(deprecated_delete_breakpoint_hook)
(deprecated_interactive_hook, deprecated_registers_changed_hook)
(deprecated_readline_begin_hook, deprecated_readline_hook)
(deprecated_readline_end_hook, deprecated_register_changed_hook)
(deprecated_memory_changed_hook, deprecated_init_ui_hook)
(deprecated_context_hook, deprecated_target_wait_hook)
(deprecated_attach_hook, deprecated_detach_hook)
(deprecated_call_command_hook, deprecated_set_hook)
(deprecated_error_hook, deprecated_error_begin_hook)
(deprecated_ui_load_progress_hook): Deprecate.
* valops.c, uw-thread.c, utils.c, tui/tui-io.c: Update.
* tui/tui-hooks.c, tracepoint.c, top.c, thread-db.c: Update.
* target.c, symfile.c, stack.c, sol-thread.c, rs6000-nat.c: Update.
* remote.c, remote-mips.c, regcache.c, mi/mi-interp.c: Update.
* main.c, interps.c, infcmd.c, hpux-thread.c, frame.c: Update.
* exec.c, dsrec.c, d10v-tdep.c, corefile.c, complaints.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, breakpoint.c: Update.
* annotate.c, aix-thread.c: Update.
2004-04-22 07:52:21 +08:00
|
|
|
|
hook_type deprecated_exec_file_display_hook; /* the original hook */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
static hook_type *exec_file_extra_hooks; /* array of additional hooks */
|
1999-07-08 04:19:36 +08:00
|
|
|
|
static int exec_file_hook_count = 0; /* size of array */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
/* Binary file diddling handle for the core file. */
|
|
|
|
|
|
|
|
|
|
bfd *core_bfd = NULL;
|
|
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
|
/* Backward compatability with old way of specifying core files. */
|
|
|
|
|
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
core_file_command (char *filename, int from_tty)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
struct target_ops *t;
|
|
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
|
dont_repeat (); /* Either way, seems bogus. */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
t = find_core_target ();
|
2001-04-15 03:23:02 +08:00
|
|
|
|
if (t == NULL)
|
2005-02-10 Andrew Cagney <cagney@gnu.org>
Mark up all error and warning messages.
* ada-lang.c, amd64-tdep.c, arch-utils.c, breakpoint.c: Update.
* bsd-kvm.c, bsd-uthread.c, coff-solib.h, coffread.c: Update.
* core-aout.c, core-regset.c, corefile.c, corelow.c: Update.
* cp-abi.c, cp-support.c, cp-valprint.c, cris-tdep.c: Update.
* dbxread.c, demangle.c, doublest.c, dsrec.c: Update.
* dve3900-rom.c, dwarf2expr.c, dwarf2loc.c: Update.
* dwarf2read.c, dwarfread.c, elfread.c, eval.c: Update.
* event-top.c, exec.c, expprint.c, f-lang.c: Update.
* f-typeprint.c, f-valprint.c, fbsd-nat.c, findvar.c: Update.
* frame.c, frv-linux-tdep.c, gcore.c, gdbtypes.c: Update.
* gnu-nat.c, gnu-v2-abi.c, gnu-v3-abi.c, go32-nat.c: Update.
* hpacc-abi.c, hppa-hpux-nat.c, hppa-hpux-tdep.c: Update.
* hppa-linux-nat.c, hppa-linux-tdep.c, hppa-tdep.c: Update.
* hpread.c, hpux-thread.c, i386-linux-nat.c: Update.
* i386-linux-tdep.c, i386-tdep.c, i386bsd-nat.c: Update.
* i386gnu-nat.c, i387-tdep.c, ia64-linux-nat.c: Update.
* ia64-tdep.c, inf-child.c, inf-ptrace.c, inf-ttrace.c: Update.
* infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Update.
* inftarg.c, interps.c, irix5-nat.c, jv-lang.c: Update.
* kod-cisco.c, kod.c, language.c, libunwind-frame.c: Update.
* linespec.c, linux-nat.c, linux-thread-db.c, m2-lang.c: Update.
* m32r-rom.c, m68hc11-tdep.c, m68k-tdep.c: Update.
* m68klinux-nat.c, macrocmd.c, macroexp.c, main.c: Update.
* maint.c, mdebugread.c, mem-break.c, memattr.c: Update.
* mips-linux-tdep.c, mips-tdep.c, mipsread.c, monitor.c: Update.
* nlmread.c, nto-procfs.c, objc-lang.c, objfiles.c: Update.
* observer.c, ocd.c, p-lang.c, p-typeprint.c: Update.
* p-valprint.c, pa64solib.c, parse.c, ppc-linux-tdep.c: Update.
* ppcnbsd-tdep.c, printcmd.c, procfs.c, remote-e7000.c: Update.
* remote-fileio.c, remote-m32r-sdi.c, remote-rdi.c: Update.
* remote-rdp.c, remote-sim.c, remote-st.c: Update.
* remote-utils.c, remote-utils.h, remote.c: Update.
* rom68k-rom.c, rs6000-nat.c, s390-tdep.c, scm-lang.c: Update.
* ser-e7kpc.c, ser-tcp.c, ser-unix.c, sh-tdep.c: Update.
* sh3-rom.c, shnbsd-tdep.c, sol-thread.c, solib-aix5.c: Update.
* solib-frv.c, solib-irix.c, solib-osf.c, solib-pa64.c: Update.
* solib-som.c, solib-sunos.c, solib-svr4.c, solib.c: Update.
* somread.c, somsolib.c, source.c, stabsread.c: Update.
* stack.c, std-regs.c, symfile-mem.c, symfile.c: Update.
* symmisc.c, symtab.c, target.c, thread.c, top.c: Update.
* tracepoint.c, trad-frame.c, typeprint.c, utils.c: Update.
* uw-thread.c, valarith.c, valops.c, valprint.c: Update.
* value.c, varobj.c, version.in, win32-nat.c, wince.c: Update.
* xcoffread.c, xcoffsolib.c, cli/cli-cmds.c: Update.
* cli/cli-decode.c, cli/cli-dump.c, cli/cli-logging.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, mi/mi-cmd-break.c: Update.
* mi/mi-cmd-disas.c, mi/mi-cmd-env.c, mi/mi-cmd-file.c: Update.
* mi/mi-cmd-stack.c, mi/mi-cmd-var.c, mi/mi-getopt.c: Update.
* mi/mi-symbol-cmds.c, tui/tui-layout.c, tui/tui-stack.c: Update.
* tui/tui-win.c: Update.
2005-02-11 12:06:14 +08:00
|
|
|
|
error (_("GDB can't read core files on this machine."));
|
2001-04-15 03:23:02 +08:00
|
|
|
|
|
|
|
|
|
if (!filename)
|
|
|
|
|
(t->to_detach) (filename, from_tty);
|
|
|
|
|
else
|
|
|
|
|
(t->to_open) (filename, from_tty);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
|
|
2005-01-14 07:56:25 +08:00
|
|
|
|
/* If there are two or more functions that wish to hook into
|
|
|
|
|
exec_file_command, this function will call all of the hook
|
|
|
|
|
functions. */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
static void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
call_extra_exec_file_hooks (char *filename)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < exec_file_hook_count; i++)
|
1999-07-08 04:19:36 +08:00
|
|
|
|
(*exec_file_extra_hooks[i]) (filename);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Call this to specify the hook for exec_file_command to call back.
|
|
|
|
|
This is called from the x-window display code. */
|
|
|
|
|
|
|
|
|
|
void
|
2000-08-10 08:58:09 +08:00
|
|
|
|
specify_exec_file_hook (void (*hook) (char *))
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
hook_type *new_array;
|
|
|
|
|
|
2004-04-21 Andrew Cagney <cagney@redhat.com>
* annotate.h (deprecated_annotate_starting_hook)
(deprecated_annotate_stopped_hook)
(deprecated_annotate_exited_hook)
(deprecated_annotate_signal_hook)
(deprecated_annotate_signalled_hook): Deprecate.
* tracepoint.h (deprecated_create_tracepoint_hook)
(deprecated_delete_tracepoint_hook)
(deprecated_modify_tracepoint_hook)
(deprecated_trace_find_hook)
(deprecated_trace_start_stop_hook): Deprecate.
* target.h (deprecated_target_new_objfile_hook): Deprecate.
* remote.h (deprecated_target_resume_hook)
(deprecated_target_wait_loop_hook): Deprecate.
* gdbcore.h (deprecated_exec_file_display_hook)
(deprecated_file_changed_hook): Deprecate.
* frame.h (deprecated_selected_frame_level_changed_hook): Deprecate.
* defs.h (deprecated_modify_breakpoint_hook)
(deprecated_command_loop_hook, deprecated_show_load_progress)
(deprecated_print_frame_info_listing_hook)
(deprecated_query_hook, deprecated_warning_hook)
(deprecated_flush_hook, deprecated_create_breakpoint_hook)
(deprecated_delete_breakpoint_hook)
(deprecated_interactive_hook, deprecated_registers_changed_hook)
(deprecated_readline_begin_hook, deprecated_readline_hook)
(deprecated_readline_end_hook, deprecated_register_changed_hook)
(deprecated_memory_changed_hook, deprecated_init_ui_hook)
(deprecated_context_hook, deprecated_target_wait_hook)
(deprecated_attach_hook, deprecated_detach_hook)
(deprecated_call_command_hook, deprecated_set_hook)
(deprecated_error_hook, deprecated_error_begin_hook)
(deprecated_ui_load_progress_hook): Deprecate.
* valops.c, uw-thread.c, utils.c, tui/tui-io.c: Update.
* tui/tui-hooks.c, tracepoint.c, top.c, thread-db.c: Update.
* target.c, symfile.c, stack.c, sol-thread.c, rs6000-nat.c: Update.
* remote.c, remote-mips.c, regcache.c, mi/mi-interp.c: Update.
* main.c, interps.c, infcmd.c, hpux-thread.c, frame.c: Update.
* exec.c, dsrec.c, d10v-tdep.c, corefile.c, complaints.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, breakpoint.c: Update.
* annotate.c, aix-thread.c: Update.
2004-04-22 07:52:21 +08:00
|
|
|
|
if (deprecated_exec_file_display_hook != NULL)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
/* There's already a hook installed. Arrange to have both it
|
|
|
|
|
* and the subsequent hooks called. */
|
|
|
|
|
if (exec_file_hook_count == 0)
|
|
|
|
|
{
|
2005-01-14 07:56:25 +08:00
|
|
|
|
/* If this is the first extra hook, initialize the hook array. */
|
1999-07-08 04:19:36 +08:00
|
|
|
|
exec_file_extra_hooks = (hook_type *) xmalloc (sizeof (hook_type));
|
2004-04-21 Andrew Cagney <cagney@redhat.com>
* annotate.h (deprecated_annotate_starting_hook)
(deprecated_annotate_stopped_hook)
(deprecated_annotate_exited_hook)
(deprecated_annotate_signal_hook)
(deprecated_annotate_signalled_hook): Deprecate.
* tracepoint.h (deprecated_create_tracepoint_hook)
(deprecated_delete_tracepoint_hook)
(deprecated_modify_tracepoint_hook)
(deprecated_trace_find_hook)
(deprecated_trace_start_stop_hook): Deprecate.
* target.h (deprecated_target_new_objfile_hook): Deprecate.
* remote.h (deprecated_target_resume_hook)
(deprecated_target_wait_loop_hook): Deprecate.
* gdbcore.h (deprecated_exec_file_display_hook)
(deprecated_file_changed_hook): Deprecate.
* frame.h (deprecated_selected_frame_level_changed_hook): Deprecate.
* defs.h (deprecated_modify_breakpoint_hook)
(deprecated_command_loop_hook, deprecated_show_load_progress)
(deprecated_print_frame_info_listing_hook)
(deprecated_query_hook, deprecated_warning_hook)
(deprecated_flush_hook, deprecated_create_breakpoint_hook)
(deprecated_delete_breakpoint_hook)
(deprecated_interactive_hook, deprecated_registers_changed_hook)
(deprecated_readline_begin_hook, deprecated_readline_hook)
(deprecated_readline_end_hook, deprecated_register_changed_hook)
(deprecated_memory_changed_hook, deprecated_init_ui_hook)
(deprecated_context_hook, deprecated_target_wait_hook)
(deprecated_attach_hook, deprecated_detach_hook)
(deprecated_call_command_hook, deprecated_set_hook)
(deprecated_error_hook, deprecated_error_begin_hook)
(deprecated_ui_load_progress_hook): Deprecate.
* valops.c, uw-thread.c, utils.c, tui/tui-io.c: Update.
* tui/tui-hooks.c, tracepoint.c, top.c, thread-db.c: Update.
* target.c, symfile.c, stack.c, sol-thread.c, rs6000-nat.c: Update.
* remote.c, remote-mips.c, regcache.c, mi/mi-interp.c: Update.
* main.c, interps.c, infcmd.c, hpux-thread.c, frame.c: Update.
* exec.c, dsrec.c, d10v-tdep.c, corefile.c, complaints.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, breakpoint.c: Update.
* annotate.c, aix-thread.c: Update.
2004-04-22 07:52:21 +08:00
|
|
|
|
exec_file_extra_hooks[0] = deprecated_exec_file_display_hook;
|
|
|
|
|
deprecated_exec_file_display_hook = call_extra_exec_file_hooks;
|
1999-04-16 09:35:26 +08:00
|
|
|
|
exec_file_hook_count = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Grow the hook array by one and add the new hook to the end.
|
|
|
|
|
Yes, it's inefficient to grow it by one each time but since
|
|
|
|
|
this is hardly ever called it's not a big deal. */
|
|
|
|
|
exec_file_hook_count++;
|
|
|
|
|
new_array =
|
|
|
|
|
(hook_type *) xrealloc (exec_file_extra_hooks,
|
1999-07-08 04:19:36 +08:00
|
|
|
|
exec_file_hook_count * sizeof (hook_type));
|
1999-04-16 09:35:26 +08:00
|
|
|
|
exec_file_extra_hooks = new_array;
|
|
|
|
|
exec_file_extra_hooks[exec_file_hook_count - 1] = hook;
|
|
|
|
|
}
|
|
|
|
|
else
|
2004-04-21 Andrew Cagney <cagney@redhat.com>
* annotate.h (deprecated_annotate_starting_hook)
(deprecated_annotate_stopped_hook)
(deprecated_annotate_exited_hook)
(deprecated_annotate_signal_hook)
(deprecated_annotate_signalled_hook): Deprecate.
* tracepoint.h (deprecated_create_tracepoint_hook)
(deprecated_delete_tracepoint_hook)
(deprecated_modify_tracepoint_hook)
(deprecated_trace_find_hook)
(deprecated_trace_start_stop_hook): Deprecate.
* target.h (deprecated_target_new_objfile_hook): Deprecate.
* remote.h (deprecated_target_resume_hook)
(deprecated_target_wait_loop_hook): Deprecate.
* gdbcore.h (deprecated_exec_file_display_hook)
(deprecated_file_changed_hook): Deprecate.
* frame.h (deprecated_selected_frame_level_changed_hook): Deprecate.
* defs.h (deprecated_modify_breakpoint_hook)
(deprecated_command_loop_hook, deprecated_show_load_progress)
(deprecated_print_frame_info_listing_hook)
(deprecated_query_hook, deprecated_warning_hook)
(deprecated_flush_hook, deprecated_create_breakpoint_hook)
(deprecated_delete_breakpoint_hook)
(deprecated_interactive_hook, deprecated_registers_changed_hook)
(deprecated_readline_begin_hook, deprecated_readline_hook)
(deprecated_readline_end_hook, deprecated_register_changed_hook)
(deprecated_memory_changed_hook, deprecated_init_ui_hook)
(deprecated_context_hook, deprecated_target_wait_hook)
(deprecated_attach_hook, deprecated_detach_hook)
(deprecated_call_command_hook, deprecated_set_hook)
(deprecated_error_hook, deprecated_error_begin_hook)
(deprecated_ui_load_progress_hook): Deprecate.
* valops.c, uw-thread.c, utils.c, tui/tui-io.c: Update.
* tui/tui-hooks.c, tracepoint.c, top.c, thread-db.c: Update.
* target.c, symfile.c, stack.c, sol-thread.c, rs6000-nat.c: Update.
* remote.c, remote-mips.c, regcache.c, mi/mi-interp.c: Update.
* main.c, interps.c, infcmd.c, hpux-thread.c, frame.c: Update.
* exec.c, dsrec.c, d10v-tdep.c, corefile.c, complaints.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, breakpoint.c: Update.
* annotate.c, aix-thread.c: Update.
2004-04-22 07:52:21 +08:00
|
|
|
|
deprecated_exec_file_display_hook = hook;
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* The exec file must be closed before running an inferior.
|
|
|
|
|
If it is needed again after the inferior dies, it must
|
|
|
|
|
be reopened. */
|
|
|
|
|
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
close_exec_file (void)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
1999-07-08 04:19:36 +08:00
|
|
|
|
#if 0 /* FIXME */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
if (exec_bfd)
|
|
|
|
|
bfd_tempclose (exec_bfd);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
reopen_exec_file (void)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
1999-07-08 04:19:36 +08:00
|
|
|
|
#if 0 /* FIXME */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
if (exec_bfd)
|
|
|
|
|
bfd_reopen (exec_bfd);
|
|
|
|
|
#else
|
|
|
|
|
char *filename;
|
|
|
|
|
int res;
|
|
|
|
|
struct stat st;
|
|
|
|
|
long mtime;
|
|
|
|
|
|
2006-07-25 04:38:08 +08:00
|
|
|
|
/* Don't do anything if there isn't an exec file. */
|
|
|
|
|
if (exec_bfd == NULL)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
return;
|
1999-07-08 04:19:36 +08:00
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
|
/* If the timestamp of the exec file has changed, reopen it. */
|
1999-12-07 11:56:43 +08:00
|
|
|
|
filename = xstrdup (bfd_get_filename (exec_bfd));
|
2000-12-15 09:01:51 +08:00
|
|
|
|
make_cleanup (xfree, filename);
|
1999-07-08 04:19:36 +08:00
|
|
|
|
mtime = bfd_get_mtime (exec_bfd);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
res = stat (filename, &st);
|
|
|
|
|
|
|
|
|
|
if (mtime && mtime != st.st_mtime)
|
2006-07-25 04:38:08 +08:00
|
|
|
|
exec_file_attach (filename, 0);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* If we have both a core file and an exec file,
|
|
|
|
|
print a warning if they don't go together. */
|
|
|
|
|
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
validate_files (void)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
if (exec_bfd && core_bfd)
|
|
|
|
|
{
|
|
|
|
|
if (!core_file_matches_executable_p (core_bfd, exec_bfd))
|
2005-02-10 Andrew Cagney <cagney@gnu.org>
Mark up all error and warning messages.
* ada-lang.c, amd64-tdep.c, arch-utils.c, breakpoint.c: Update.
* bsd-kvm.c, bsd-uthread.c, coff-solib.h, coffread.c: Update.
* core-aout.c, core-regset.c, corefile.c, corelow.c: Update.
* cp-abi.c, cp-support.c, cp-valprint.c, cris-tdep.c: Update.
* dbxread.c, demangle.c, doublest.c, dsrec.c: Update.
* dve3900-rom.c, dwarf2expr.c, dwarf2loc.c: Update.
* dwarf2read.c, dwarfread.c, elfread.c, eval.c: Update.
* event-top.c, exec.c, expprint.c, f-lang.c: Update.
* f-typeprint.c, f-valprint.c, fbsd-nat.c, findvar.c: Update.
* frame.c, frv-linux-tdep.c, gcore.c, gdbtypes.c: Update.
* gnu-nat.c, gnu-v2-abi.c, gnu-v3-abi.c, go32-nat.c: Update.
* hpacc-abi.c, hppa-hpux-nat.c, hppa-hpux-tdep.c: Update.
* hppa-linux-nat.c, hppa-linux-tdep.c, hppa-tdep.c: Update.
* hpread.c, hpux-thread.c, i386-linux-nat.c: Update.
* i386-linux-tdep.c, i386-tdep.c, i386bsd-nat.c: Update.
* i386gnu-nat.c, i387-tdep.c, ia64-linux-nat.c: Update.
* ia64-tdep.c, inf-child.c, inf-ptrace.c, inf-ttrace.c: Update.
* infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Update.
* inftarg.c, interps.c, irix5-nat.c, jv-lang.c: Update.
* kod-cisco.c, kod.c, language.c, libunwind-frame.c: Update.
* linespec.c, linux-nat.c, linux-thread-db.c, m2-lang.c: Update.
* m32r-rom.c, m68hc11-tdep.c, m68k-tdep.c: Update.
* m68klinux-nat.c, macrocmd.c, macroexp.c, main.c: Update.
* maint.c, mdebugread.c, mem-break.c, memattr.c: Update.
* mips-linux-tdep.c, mips-tdep.c, mipsread.c, monitor.c: Update.
* nlmread.c, nto-procfs.c, objc-lang.c, objfiles.c: Update.
* observer.c, ocd.c, p-lang.c, p-typeprint.c: Update.
* p-valprint.c, pa64solib.c, parse.c, ppc-linux-tdep.c: Update.
* ppcnbsd-tdep.c, printcmd.c, procfs.c, remote-e7000.c: Update.
* remote-fileio.c, remote-m32r-sdi.c, remote-rdi.c: Update.
* remote-rdp.c, remote-sim.c, remote-st.c: Update.
* remote-utils.c, remote-utils.h, remote.c: Update.
* rom68k-rom.c, rs6000-nat.c, s390-tdep.c, scm-lang.c: Update.
* ser-e7kpc.c, ser-tcp.c, ser-unix.c, sh-tdep.c: Update.
* sh3-rom.c, shnbsd-tdep.c, sol-thread.c, solib-aix5.c: Update.
* solib-frv.c, solib-irix.c, solib-osf.c, solib-pa64.c: Update.
* solib-som.c, solib-sunos.c, solib-svr4.c, solib.c: Update.
* somread.c, somsolib.c, source.c, stabsread.c: Update.
* stack.c, std-regs.c, symfile-mem.c, symfile.c: Update.
* symmisc.c, symtab.c, target.c, thread.c, top.c: Update.
* tracepoint.c, trad-frame.c, typeprint.c, utils.c: Update.
* uw-thread.c, valarith.c, valops.c, valprint.c: Update.
* value.c, varobj.c, version.in, win32-nat.c, wince.c: Update.
* xcoffread.c, xcoffsolib.c, cli/cli-cmds.c: Update.
* cli/cli-decode.c, cli/cli-dump.c, cli/cli-logging.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, mi/mi-cmd-break.c: Update.
* mi/mi-cmd-disas.c, mi/mi-cmd-env.c, mi/mi-cmd-file.c: Update.
* mi/mi-cmd-stack.c, mi/mi-cmd-var.c, mi/mi-getopt.c: Update.
* mi/mi-symbol-cmds.c, tui/tui-layout.c, tui/tui-stack.c: Update.
* tui/tui-win.c: Update.
2005-02-11 12:06:14 +08:00
|
|
|
|
warning (_("core file may not match specified executable file."));
|
1999-07-08 04:19:36 +08:00
|
|
|
|
else if (bfd_get_mtime (exec_bfd) > bfd_get_mtime (core_bfd))
|
2005-02-10 Andrew Cagney <cagney@gnu.org>
Mark up all error and warning messages.
* ada-lang.c, amd64-tdep.c, arch-utils.c, breakpoint.c: Update.
* bsd-kvm.c, bsd-uthread.c, coff-solib.h, coffread.c: Update.
* core-aout.c, core-regset.c, corefile.c, corelow.c: Update.
* cp-abi.c, cp-support.c, cp-valprint.c, cris-tdep.c: Update.
* dbxread.c, demangle.c, doublest.c, dsrec.c: Update.
* dve3900-rom.c, dwarf2expr.c, dwarf2loc.c: Update.
* dwarf2read.c, dwarfread.c, elfread.c, eval.c: Update.
* event-top.c, exec.c, expprint.c, f-lang.c: Update.
* f-typeprint.c, f-valprint.c, fbsd-nat.c, findvar.c: Update.
* frame.c, frv-linux-tdep.c, gcore.c, gdbtypes.c: Update.
* gnu-nat.c, gnu-v2-abi.c, gnu-v3-abi.c, go32-nat.c: Update.
* hpacc-abi.c, hppa-hpux-nat.c, hppa-hpux-tdep.c: Update.
* hppa-linux-nat.c, hppa-linux-tdep.c, hppa-tdep.c: Update.
* hpread.c, hpux-thread.c, i386-linux-nat.c: Update.
* i386-linux-tdep.c, i386-tdep.c, i386bsd-nat.c: Update.
* i386gnu-nat.c, i387-tdep.c, ia64-linux-nat.c: Update.
* ia64-tdep.c, inf-child.c, inf-ptrace.c, inf-ttrace.c: Update.
* infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Update.
* inftarg.c, interps.c, irix5-nat.c, jv-lang.c: Update.
* kod-cisco.c, kod.c, language.c, libunwind-frame.c: Update.
* linespec.c, linux-nat.c, linux-thread-db.c, m2-lang.c: Update.
* m32r-rom.c, m68hc11-tdep.c, m68k-tdep.c: Update.
* m68klinux-nat.c, macrocmd.c, macroexp.c, main.c: Update.
* maint.c, mdebugread.c, mem-break.c, memattr.c: Update.
* mips-linux-tdep.c, mips-tdep.c, mipsread.c, monitor.c: Update.
* nlmread.c, nto-procfs.c, objc-lang.c, objfiles.c: Update.
* observer.c, ocd.c, p-lang.c, p-typeprint.c: Update.
* p-valprint.c, pa64solib.c, parse.c, ppc-linux-tdep.c: Update.
* ppcnbsd-tdep.c, printcmd.c, procfs.c, remote-e7000.c: Update.
* remote-fileio.c, remote-m32r-sdi.c, remote-rdi.c: Update.
* remote-rdp.c, remote-sim.c, remote-st.c: Update.
* remote-utils.c, remote-utils.h, remote.c: Update.
* rom68k-rom.c, rs6000-nat.c, s390-tdep.c, scm-lang.c: Update.
* ser-e7kpc.c, ser-tcp.c, ser-unix.c, sh-tdep.c: Update.
* sh3-rom.c, shnbsd-tdep.c, sol-thread.c, solib-aix5.c: Update.
* solib-frv.c, solib-irix.c, solib-osf.c, solib-pa64.c: Update.
* solib-som.c, solib-sunos.c, solib-svr4.c, solib.c: Update.
* somread.c, somsolib.c, source.c, stabsread.c: Update.
* stack.c, std-regs.c, symfile-mem.c, symfile.c: Update.
* symmisc.c, symtab.c, target.c, thread.c, top.c: Update.
* tracepoint.c, trad-frame.c, typeprint.c, utils.c: Update.
* uw-thread.c, valarith.c, valops.c, valprint.c: Update.
* value.c, varobj.c, version.in, win32-nat.c, wince.c: Update.
* xcoffread.c, xcoffsolib.c, cli/cli-cmds.c: Update.
* cli/cli-decode.c, cli/cli-dump.c, cli/cli-logging.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, mi/mi-cmd-break.c: Update.
* mi/mi-cmd-disas.c, mi/mi-cmd-env.c, mi/mi-cmd-file.c: Update.
* mi/mi-cmd-stack.c, mi/mi-cmd-var.c, mi/mi-getopt.c: Update.
* mi/mi-symbol-cmds.c, tui/tui-layout.c, tui/tui-stack.c: Update.
* tui/tui-win.c: Update.
2005-02-11 12:06:14 +08:00
|
|
|
|
warning (_("exec file is newer than core file."));
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Return the name of the executable file as a string.
|
|
|
|
|
ERR nonzero means get error if there is none specified;
|
|
|
|
|
otherwise return 0 in that case. */
|
|
|
|
|
|
|
|
|
|
char *
|
2000-07-30 09:48:28 +08:00
|
|
|
|
get_exec_file (int err)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
1999-07-08 04:19:36 +08:00
|
|
|
|
if (exec_bfd)
|
|
|
|
|
return bfd_get_filename (exec_bfd);
|
|
|
|
|
if (!err)
|
|
|
|
|
return NULL;
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
2005-02-10 Andrew Cagney <cagney@gnu.org>
Mark up all error and warning messages.
* ada-lang.c, amd64-tdep.c, arch-utils.c, breakpoint.c: Update.
* bsd-kvm.c, bsd-uthread.c, coff-solib.h, coffread.c: Update.
* core-aout.c, core-regset.c, corefile.c, corelow.c: Update.
* cp-abi.c, cp-support.c, cp-valprint.c, cris-tdep.c: Update.
* dbxread.c, demangle.c, doublest.c, dsrec.c: Update.
* dve3900-rom.c, dwarf2expr.c, dwarf2loc.c: Update.
* dwarf2read.c, dwarfread.c, elfread.c, eval.c: Update.
* event-top.c, exec.c, expprint.c, f-lang.c: Update.
* f-typeprint.c, f-valprint.c, fbsd-nat.c, findvar.c: Update.
* frame.c, frv-linux-tdep.c, gcore.c, gdbtypes.c: Update.
* gnu-nat.c, gnu-v2-abi.c, gnu-v3-abi.c, go32-nat.c: Update.
* hpacc-abi.c, hppa-hpux-nat.c, hppa-hpux-tdep.c: Update.
* hppa-linux-nat.c, hppa-linux-tdep.c, hppa-tdep.c: Update.
* hpread.c, hpux-thread.c, i386-linux-nat.c: Update.
* i386-linux-tdep.c, i386-tdep.c, i386bsd-nat.c: Update.
* i386gnu-nat.c, i387-tdep.c, ia64-linux-nat.c: Update.
* ia64-tdep.c, inf-child.c, inf-ptrace.c, inf-ttrace.c: Update.
* infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Update.
* inftarg.c, interps.c, irix5-nat.c, jv-lang.c: Update.
* kod-cisco.c, kod.c, language.c, libunwind-frame.c: Update.
* linespec.c, linux-nat.c, linux-thread-db.c, m2-lang.c: Update.
* m32r-rom.c, m68hc11-tdep.c, m68k-tdep.c: Update.
* m68klinux-nat.c, macrocmd.c, macroexp.c, main.c: Update.
* maint.c, mdebugread.c, mem-break.c, memattr.c: Update.
* mips-linux-tdep.c, mips-tdep.c, mipsread.c, monitor.c: Update.
* nlmread.c, nto-procfs.c, objc-lang.c, objfiles.c: Update.
* observer.c, ocd.c, p-lang.c, p-typeprint.c: Update.
* p-valprint.c, pa64solib.c, parse.c, ppc-linux-tdep.c: Update.
* ppcnbsd-tdep.c, printcmd.c, procfs.c, remote-e7000.c: Update.
* remote-fileio.c, remote-m32r-sdi.c, remote-rdi.c: Update.
* remote-rdp.c, remote-sim.c, remote-st.c: Update.
* remote-utils.c, remote-utils.h, remote.c: Update.
* rom68k-rom.c, rs6000-nat.c, s390-tdep.c, scm-lang.c: Update.
* ser-e7kpc.c, ser-tcp.c, ser-unix.c, sh-tdep.c: Update.
* sh3-rom.c, shnbsd-tdep.c, sol-thread.c, solib-aix5.c: Update.
* solib-frv.c, solib-irix.c, solib-osf.c, solib-pa64.c: Update.
* solib-som.c, solib-sunos.c, solib-svr4.c, solib.c: Update.
* somread.c, somsolib.c, source.c, stabsread.c: Update.
* stack.c, std-regs.c, symfile-mem.c, symfile.c: Update.
* symmisc.c, symtab.c, target.c, thread.c, top.c: Update.
* tracepoint.c, trad-frame.c, typeprint.c, utils.c: Update.
* uw-thread.c, valarith.c, valops.c, valprint.c: Update.
* value.c, varobj.c, version.in, win32-nat.c, wince.c: Update.
* xcoffread.c, xcoffsolib.c, cli/cli-cmds.c: Update.
* cli/cli-decode.c, cli/cli-dump.c, cli/cli-logging.c: Update.
* cli/cli-script.c, cli/cli-setshow.c, mi/mi-cmd-break.c: Update.
* mi/mi-cmd-disas.c, mi/mi-cmd-env.c, mi/mi-cmd-file.c: Update.
* mi/mi-cmd-stack.c, mi/mi-cmd-var.c, mi/mi-getopt.c: Update.
* mi/mi-symbol-cmds.c, tui/tui-layout.c, tui/tui-stack.c: Update.
* tui/tui-win.c: Update.
2005-02-11 12:06:14 +08:00
|
|
|
|
error (_("No executable file specified.\n\
|
|
|
|
|
Use the \"file\" or \"exec-file\" command."));
|
1999-04-16 09:35:26 +08:00
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
|
/* Report a memory error with error(). */
|
|
|
|
|
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
memory_error (int status, CORE_ADDR memaddr)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
2000-02-02 08:21:19 +08:00
|
|
|
|
struct ui_file *tmp_stream = mem_fileopen ();
|
|
|
|
|
make_cleanup_ui_file_delete (tmp_stream);
|
1999-10-06 07:13:56 +08:00
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
|
if (status == EIO)
|
|
|
|
|
{
|
|
|
|
|
/* Actually, address between memaddr and memaddr + len
|
1999-07-08 04:19:36 +08:00
|
|
|
|
was out of bounds. */
|
1999-10-06 07:13:56 +08:00
|
|
|
|
fprintf_unfiltered (tmp_stream, "Cannot access memory at address ");
|
2005-02-14 Andrew Cagney <cagney@gnu.org>
* utils.c (paddress): New function.
* defs.h (paddress): Declare.
* printcmd.c (deprecated_print_address_numeric): Rename
print_address_numeric, call paddress.
* valprint.c, ui-out.c, tui/tui-stack.c, tracepoint.c: Update.
* symmisc.c, symfile.c stack.c, p-valprint.c, printcmd.c: Update.
* maint.c, m32r-rom.c, infcmd.c, f-valprint.c, exec.c: Update.
* dwarf2read.c, dve3900-rom.c, defs.h, c-valprint.c: Update.
* corefile.c, cli/cli-cmds.c, breakpoint.c, annotate.c: Update.
* ada-valprint.c: Update.
2005-02-14 22:37:38 +08:00
|
|
|
|
deprecated_print_address_numeric (memaddr, 1, tmp_stream);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
1999-10-06 07:13:56 +08:00
|
|
|
|
fprintf_filtered (tmp_stream, "Error accessing memory address ");
|
2005-02-14 Andrew Cagney <cagney@gnu.org>
* utils.c (paddress): New function.
* defs.h (paddress): Declare.
* printcmd.c (deprecated_print_address_numeric): Rename
print_address_numeric, call paddress.
* valprint.c, ui-out.c, tui/tui-stack.c, tracepoint.c: Update.
* symmisc.c, symfile.c stack.c, p-valprint.c, printcmd.c: Update.
* maint.c, m32r-rom.c, infcmd.c, f-valprint.c, exec.c: Update.
* dwarf2read.c, dve3900-rom.c, defs.h, c-valprint.c: Update.
* corefile.c, cli/cli-cmds.c, breakpoint.c, annotate.c: Update.
* ada-valprint.c: Update.
2005-02-14 22:37:38 +08:00
|
|
|
|
deprecated_print_address_numeric (memaddr, 1, tmp_stream);
|
1999-10-06 07:13:56 +08:00
|
|
|
|
fprintf_filtered (tmp_stream, ": %s.",
|
1999-07-08 04:19:36 +08:00
|
|
|
|
safe_strerror (status));
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
1999-10-06 07:13:56 +08:00
|
|
|
|
|
|
|
|
|
error_stream (tmp_stream);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Same as target_read_memory, but report an error if can't read. */
|
|
|
|
|
void
|
2005-05-22 Andrew Cagney <cagney@gnu.org>
* frame.h (frame_register_unwind, frame_unwind_register)
(get_frame_register, frame_register, put_frame_register)
(get_frame_memory, safe_frame_unwind_memory)
(frame_register_read): Use gdb_byte for byte buffer parameters.
* trad-frame.h (trad_frame_get_register)
(frame_get_prev_register): Ditto.
* frame-unwind.h (frame_prev_register_ftype): Ditto.
* frame.c (frame_pop, frame_register, frame_unwind_register)
(get_frame_register, frame_unwind_register_signed)
(frame_unwind_register_unsigned, frame_unwind_unsigned_register)
(frame_register_read, get_frame_memory): Update.
* trad-frame.c (trad_frame_get_prev_register): Update.
(trad_frame_get_register): Update.
* gdbcore.h (deprecated_read_memory_nobpt, read_memory): Ditto.
* breakpoint.c (deprecated_read_memory_nobpt): Update.
* corefile.c (read_memory): Update.
* tramp-frame.c (tramp_frame_prev_register): Update.
* valops.c (value_assign): Update.
* sentinel-frame.c (sentinel_frame_prev_register): Update.
* std-regs.c (value_of_builtin_frame_fp_reg)
(value_of_builtin_frame_pc_reg): Update.
* infcmd.c (default_print_registers_info): Update
* dummy-frame.c (dummy_frame_prev_register): Update.
* findvar.c (value_of_register, value_from_register): Update.
* tui/tui-regs.c (tui_register_format, tui_get_register): Update.
* mi/mi-main.c (register_changed_p, get_register): Update.
2005-05-22 22:53:35 +08:00
|
|
|
|
read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, int len)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
int status;
|
|
|
|
|
status = target_read_memory (memaddr, myaddr, len);
|
|
|
|
|
if (status != 0)
|
|
|
|
|
memory_error (status, memaddr);
|
|
|
|
|
}
|
|
|
|
|
|
2002-05-31 06:41:24 +08:00
|
|
|
|
/* Argument / return result struct for use with
|
|
|
|
|
do_captured_read_memory_integer(). MEMADDR and LEN are filled in
|
|
|
|
|
by gdb_read_memory_integer(). RESULT is the contents that were
|
|
|
|
|
successfully read from MEMADDR of length LEN. */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
2001-12-20 07:54:27 +08:00
|
|
|
|
struct captured_read_memory_integer_arguments
|
|
|
|
|
{
|
|
|
|
|
CORE_ADDR memaddr;
|
|
|
|
|
int len;
|
|
|
|
|
LONGEST result;
|
|
|
|
|
};
|
|
|
|
|
|
2002-05-31 06:41:24 +08:00
|
|
|
|
/* Helper function for gdb_read_memory_integer(). DATA must be a
|
|
|
|
|
pointer to a captured_read_memory_integer_arguments struct.
|
|
|
|
|
Return 1 if successful. Note that the catch_errors() interface
|
|
|
|
|
will return 0 if an error occurred while reading memory. This
|
|
|
|
|
choice of return code is so that we can distinguish between
|
|
|
|
|
success and failure. */
|
|
|
|
|
|
2001-12-20 07:54:27 +08:00
|
|
|
|
static int
|
|
|
|
|
do_captured_read_memory_integer (void *data)
|
|
|
|
|
{
|
|
|
|
|
struct captured_read_memory_integer_arguments *args = (struct captured_read_memory_integer_arguments*) data;
|
|
|
|
|
CORE_ADDR memaddr = args->memaddr;
|
|
|
|
|
int len = args->len;
|
|
|
|
|
|
|
|
|
|
args->result = read_memory_integer (memaddr, len);
|
|
|
|
|
|
2002-05-31 06:41:24 +08:00
|
|
|
|
return 1;
|
2001-12-20 07:54:27 +08:00
|
|
|
|
}
|
|
|
|
|
|
2002-05-31 06:41:24 +08:00
|
|
|
|
/* Read memory at MEMADDR of length LEN and put the contents in
|
|
|
|
|
RETURN_VALUE. Return 0 if MEMADDR couldn't be read and non-zero
|
|
|
|
|
if successful. */
|
|
|
|
|
|
2001-12-20 07:54:27 +08:00
|
|
|
|
int
|
|
|
|
|
safe_read_memory_integer (CORE_ADDR memaddr, int len, LONGEST *return_value)
|
|
|
|
|
{
|
|
|
|
|
int status;
|
|
|
|
|
struct captured_read_memory_integer_arguments args;
|
|
|
|
|
args.memaddr = memaddr;
|
|
|
|
|
args.len = len;
|
|
|
|
|
|
|
|
|
|
status = catch_errors (do_captured_read_memory_integer, &args,
|
|
|
|
|
"", RETURN_MASK_ALL);
|
2002-05-31 06:41:24 +08:00
|
|
|
|
if (status)
|
2001-12-20 07:54:27 +08:00
|
|
|
|
*return_value = args.result;
|
|
|
|
|
|
|
|
|
|
return status;
|
|
|
|
|
}
|
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
|
LONGEST
|
2000-07-30 09:48:28 +08:00
|
|
|
|
read_memory_integer (CORE_ADDR memaddr, int len)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
2006-01-11 07:01:44 +08:00
|
|
|
|
gdb_byte buf[sizeof (LONGEST)];
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
read_memory (memaddr, buf, len);
|
|
|
|
|
return extract_signed_integer (buf, len);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ULONGEST
|
2000-07-30 09:48:28 +08:00
|
|
|
|
read_memory_unsigned_integer (CORE_ADDR memaddr, int len)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
2006-01-11 07:01:44 +08:00
|
|
|
|
gdb_byte buf[sizeof (ULONGEST)];
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
read_memory (memaddr, buf, len);
|
|
|
|
|
return extract_unsigned_integer (buf, len);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
read_memory_string (CORE_ADDR memaddr, char *buffer, int max_len)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
2003-09-14 Andrew Cagney <cagney@redhat.com>
* alpha-nat.c: Remove some occurances of "register".
* alpha-tdep.c, arm-tdep.c, blockframe.c, breakpoint.c: Ditto.
* buildsym.c, c-typeprint.c, c-valprint.c, coffread.c: Ditto.
* corefile.c, cp-support.c, cp-valprint.c, cris-tdep.c: Ditto.
* dbxread.c, dcache.c, dwarf2read.c, elfread.c: Ditto.
* environ.c, eval.c, event-top.c, f-typeprint.c: Ditto.
* f-valprint.c, findvar.c, frame.c, gdbtypes.c: Ditto.
* h8300-tdep.c, hppa-tdep.c, hppab-nat.c, hppah-nat.c: Ditto.
* hppam3-nat.c, hpread.c, ia64-aix-nat.c, ia64-linux-nat.c: Ditto.
* infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Ditto.
* infttrace.c, irix5-nat.c, jv-typeprint.c: Ditto.
* jv-valprint.c, m68k-tdep.c, m68klinux-nat.c, main.c: Ditto.
* mdebugread.c, minsyms.c, mips-linux-tdep.c: Ditto.
* mips-nat.c, mips-tdep.c, mipsread.c, mipsv4-nat.c: Ditto.
* ns32k-tdep.c, objfiles.c, p-typeprint.c: Ditto.
* p-valprint.c, ppc-linux-nat.c, printcmd.c: Ditto.
* remote-mips.c, remote-vx.c, rs6000-nat.c: Ditto.
* rs6000-tdep.c, scm-exp.c, sh-tdep.c, sh64-tdep.c: Ditto.
* solib.c, somread.c, source.c, sparc-tdep.c: Ditto.
* stabsread.c, stack.c, standalone.c, symfile.c: Ditto.
* symmisc.c, symtab.c, top.c, tracepoint.c: Ditto.
* typeprint.c, utils.c, valarith.c, valops.c: Ditto.
* values.c, vax-tdep.c, xcoffread.c: Ditto.
2003-09-15 00:32:14 +08:00
|
|
|
|
char *cp;
|
|
|
|
|
int i;
|
1999-04-16 09:35:26 +08:00
|
|
|
|
int cnt;
|
|
|
|
|
|
|
|
|
|
cp = buffer;
|
|
|
|
|
while (1)
|
|
|
|
|
{
|
|
|
|
|
if (cp - buffer >= max_len)
|
1999-07-08 04:19:36 +08:00
|
|
|
|
{
|
|
|
|
|
buffer[max_len - 1] = '\0';
|
|
|
|
|
break;
|
|
|
|
|
}
|
1999-04-16 09:35:26 +08:00
|
|
|
|
cnt = max_len - (cp - buffer);
|
|
|
|
|
if (cnt > 8)
|
|
|
|
|
cnt = 8;
|
|
|
|
|
read_memory (memaddr + (int) (cp - buffer), cp, cnt);
|
|
|
|
|
for (i = 0; i < cnt && *cp; i++, cp++)
|
1999-07-08 04:19:36 +08:00
|
|
|
|
; /* null body */
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
if (i < cnt && !*cp)
|
1999-07-08 04:19:36 +08:00
|
|
|
|
break;
|
1999-04-16 09:35:26 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
2001-11-13 05:08:04 +08:00
|
|
|
|
|
2002-10-12 09:48:17 +08:00
|
|
|
|
CORE_ADDR
|
|
|
|
|
read_memory_typed_address (CORE_ADDR addr, struct type *type)
|
|
|
|
|
{
|
2006-01-11 07:01:44 +08:00
|
|
|
|
gdb_byte *buf = alloca (TYPE_LENGTH (type));
|
2002-10-12 09:48:17 +08:00
|
|
|
|
read_memory (addr, buf, TYPE_LENGTH (type));
|
|
|
|
|
return extract_typed_address (buf, type);
|
|
|
|
|
}
|
|
|
|
|
|
2001-11-13 05:08:04 +08:00
|
|
|
|
/* Same as target_write_memory, but report an error if can't write. */
|
|
|
|
|
void
|
2005-01-28 04:09:10 +08:00
|
|
|
|
write_memory (CORE_ADDR memaddr, const bfd_byte *myaddr, int len)
|
2001-11-13 05:08:04 +08:00
|
|
|
|
{
|
|
|
|
|
int status;
|
2006-01-11 07:01:44 +08:00
|
|
|
|
gdb_byte *bytes = alloca (len);
|
2005-01-28 04:09:10 +08:00
|
|
|
|
|
|
|
|
|
memcpy (bytes, myaddr, len);
|
|
|
|
|
status = target_write_memory (memaddr, bytes, len);
|
2001-11-13 05:08:04 +08:00
|
|
|
|
if (status != 0)
|
|
|
|
|
memory_error (status, memaddr);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Store VALUE at ADDR in the inferior as a LEN-byte unsigned integer. */
|
|
|
|
|
void
|
|
|
|
|
write_memory_unsigned_integer (CORE_ADDR addr, int len, ULONGEST value)
|
|
|
|
|
{
|
2006-01-11 07:01:44 +08:00
|
|
|
|
gdb_byte *buf = alloca (len);
|
2001-11-13 05:08:04 +08:00
|
|
|
|
store_unsigned_integer (buf, len, value);
|
|
|
|
|
write_memory (addr, buf, len);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Store VALUE at ADDR in the inferior as a LEN-byte signed integer. */
|
|
|
|
|
void
|
|
|
|
|
write_memory_signed_integer (CORE_ADDR addr, int len, LONGEST value)
|
|
|
|
|
{
|
2006-01-11 07:01:44 +08:00
|
|
|
|
gdb_byte *buf = alloca (len);
|
2001-11-13 05:08:04 +08:00
|
|
|
|
store_signed_integer (buf, len, value);
|
|
|
|
|
write_memory (addr, buf, len);
|
|
|
|
|
}
|
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
1999-07-08 04:19:36 +08:00
|
|
|
|
|
1999-04-16 09:35:26 +08:00
|
|
|
|
#if 0
|
|
|
|
|
/* Enable after 4.12. It is not tested. */
|
|
|
|
|
|
|
|
|
|
/* Search code. Targets can just make this their search function, or
|
|
|
|
|
if the protocol has a less general search function, they can call this
|
|
|
|
|
in the cases it can't handle. */
|
|
|
|
|
void
|
2000-08-10 08:58:09 +08:00
|
|
|
|
generic_search (int len, char *data, char *mask, CORE_ADDR startaddr,
|
|
|
|
|
int increment, CORE_ADDR lorange, CORE_ADDR hirange,
|
|
|
|
|
CORE_ADDR *addr_found, char *data_found)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
int i;
|
|
|
|
|
CORE_ADDR curaddr = startaddr;
|
|
|
|
|
|
|
|
|
|
while (curaddr >= lorange && curaddr < hirange)
|
|
|
|
|
{
|
|
|
|
|
read_memory (curaddr, data_found, len);
|
|
|
|
|
for (i = 0; i < len; ++i)
|
|
|
|
|
if ((data_found[i] & mask[i]) != data[i])
|
|
|
|
|
goto try_again;
|
|
|
|
|
/* It matches. */
|
|
|
|
|
*addr_found = curaddr;
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
try_again:
|
|
|
|
|
curaddr += increment;
|
|
|
|
|
}
|
1999-07-08 04:19:36 +08:00
|
|
|
|
*addr_found = (CORE_ADDR) 0;
|
1999-04-16 09:35:26 +08:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
#endif /* 0 */
|
|
|
|
|
|
|
|
|
|
/* The current default bfd target. Points to storage allocated for
|
|
|
|
|
gnutarget_string. */
|
|
|
|
|
char *gnutarget;
|
|
|
|
|
|
|
|
|
|
/* Same thing, except it is "auto" not NULL for the default case. */
|
|
|
|
|
static char *gnutarget_string;
|
2005-02-24 Andrew Cagney <cagney@gnu.org>
Add show_VARIABLE functions, update add_setshow call.
* varobj.c (_initialize_varobj, show_varobjdebug): Add and update.
* valprint.c (_initialize_valprint, show_print_max)
(show_stop_print_at_null, show_repeat_count_threshold)
(show_prettyprint_structs, show_unionprint)
(show_prettyprint_arrays, show_addressprint, show_input_radix)
(show_output_radix): Ditto.
* valops.c (_initialize_valops, show_overload_resolution): Ditto.
* utils.c (initialize_utils, show_chars_per_line)
(show_lines_per_page, show_demangle, show_pagination_enabled)
(show_sevenbit_strings, show_asm_demangle): Ditto
* tui/tui-win.c (_initialize_tui_win, show_tui_border_kind)
(show_tui_border_mode, show_tui_active_border_mode): Ditto.
* top.c (init_main, show_new_async_prompt)
(show_async_command_editing_p, show_write_history_p)
(show_history_size, show_history_filename, show_caution)
(show_annotation_level, init_main): Ditto.
* target.c (initialize_targets, show_targetdebug)
(show_trust_readonly): Ditto.
* symfile.c (_initialize_symfile, show_symbol_reloading)
(show_ext_args, show_download_write_size)
(show_debug_file_directory): Ditto.
* source.c (_initialize_source, show_lines_to_list): Ditto.
* solib.c (_initialize_solib, show_auto_solib_add)
(show_solib_search_path): Ditto.
* p-valprint.c (_initialize_pascal_valprint)
(show_pascal_static_field_print): Ditto.
* printcmd.c (_initialize_printcmd, show_max_symbolic_offset)
(show_print_symbol_filename): Add and update.
* parse.c (_initialize_parse, show_expressiondebug): Dito.
* observer.c (_initialize_observer, show_observer_debug): Dito.
* maint.c (_initialize_maint_cmds, show_watchdog)
(show_maintenance_profile_p): Dito.
* linux-nat.c (_initialize_linux_nat, show_debug_linux_nat): Dito.
* infrun.c (_initialize_infrun, show_debug_infrun)
(show_stop_on_solib_events, show_follow_fork_mode_string)
(show_scheduler_mode, show_step_stop_if_no_debug): Ditto.
* infcall.c (_initialize_infcall, show_coerce_float_to_double_p)
(show_unwind_on_signal_p): Ditto.
* gdbtypes.c (build_gdbtypes, show_opaque_type_resolution)
(_initialize_gdbtypes, show_overload_debug): Ditto.
* gdb-events.c, gdb-events.sh (_initialize_gdb_events)
(show_gdb_events_debug): Ditto.
* gdbarch.c, gdbarch.sh (show_gdbarch_debug)
(_initialize_gdbarch): Ditto.
* frame.c (_initialize_frame, show_backtrace_past_main)
(show_backtrace_past_entry, show_backtrace_limit)
(show_frame_debug): Ditto.
* exec.c (_initialize_exec, show_write_files): Ditto.
* dwarf2read.c (_initialize_dwarf2_read)
(show_dwarf2_max_cache_age): Ditto.
* demangle.c (_initialize_demangler)
(show_demangling_style_names): Ditto.
* dcache.c (_initialize_dcache, show_dcache_enabled_p): Ditto.
* cp-valprint.c (show_static_field_print)
(_initialize_cp_valprint, show_vtblprint, show_objectprint): Ditto.
* corefile.c (_initialize_core, show_gnutarget_string): Ditto.
* cli/cli-logging.c (_initialize_cli_logging)
(show_logging_overwrite, show_logging_redirect)
(show_logging_filename): Ditto.
* cli/cli-cmds.c (show_info_verbose, show_history_expansion_p)
(init_cli_cmds, show_baud_rate, show_remote_debug)
(show_remote_timeout, show_max_user_call_depth): Ditto.
* charset.c (show_host_charset_name, show_target_charset_name)
(initialize_charset): Ditto.
* breakpoint.c (show_can_use_hw_watchpoints)
(show_pending_break_support, _initialize_breakpoint): Ditto.
2005-02-24 21:51:36 +08:00
|
|
|
|
static void
|
|
|
|
|
show_gnutarget_string (struct ui_file *file, int from_tty,
|
|
|
|
|
struct cmd_list_element *c, const char *value)
|
|
|
|
|
{
|
|
|
|
|
fprintf_filtered (file, _("The current BFD target is \"%s\".\n"), value);
|
|
|
|
|
}
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
2000-05-28 09:12:42 +08:00
|
|
|
|
static void set_gnutarget_command (char *, int, struct cmd_list_element *);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
static void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
set_gnutarget_command (char *ignore, int from_tty, struct cmd_list_element *c)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
2003-01-10 02:30:32 +08:00
|
|
|
|
if (strcmp (gnutarget_string, "auto") == 0)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
gnutarget = NULL;
|
|
|
|
|
else
|
|
|
|
|
gnutarget = gnutarget_string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Set the gnutarget. */
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
set_gnutarget (char *newtarget)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
if (gnutarget_string != NULL)
|
2000-12-15 09:01:51 +08:00
|
|
|
|
xfree (gnutarget_string);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
gnutarget_string = savestring (newtarget, strlen (newtarget));
|
|
|
|
|
set_gnutarget_command (NULL, 0, NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
2000-07-30 09:48:28 +08:00
|
|
|
|
_initialize_core (void)
|
1999-04-16 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
struct cmd_list_element *c;
|
2005-02-14 Andrew Cagney <cagney@gnu.org>
Mark up add_cmd.
* arch-utils.c, avr-tdep.c, breakpoint.c, corefile.c: Update.
* cp-abi.c, cp-namespace.c, cp-support.c, dummy-frame.c: Update.
* exec.c, gnu-nat.c, go32-nat.c, hppa-tdep.c, infcmd.c: Update.
* infrun.c, interps.c, macrocmd.c, maint.c, memattr.c: Update.
* mips-tdep.c, ocd.c, osabi.c, printcmd.c, regcache.c: Update.
* reggroups.c, remote-fileio.c, remote-rdi.c, remote.c: Update.
* sol-thread.c, source.c, stack.c, symfile-mem.c: Update.
* symfile.c, thread.c, tracepoint.c, valprint.c, value.c: Update.
* win32-nat.c, cli/cli-cmds.c, cli/cli-dump.c: Update.
* cli/cli-logging.c, tui/tui-regs.c: Update.
2005-02-15 02:10:11 +08:00
|
|
|
|
c = add_cmd ("core-file", class_files, core_file_command, _("\
|
|
|
|
|
Use FILE as core dump for examining memory and registers.\n\
|
1999-04-16 09:35:26 +08:00
|
|
|
|
No arg means have no core file. This command has been superseded by the\n\
|
2005-02-14 Andrew Cagney <cagney@gnu.org>
Mark up add_cmd.
* arch-utils.c, avr-tdep.c, breakpoint.c, corefile.c: Update.
* cp-abi.c, cp-namespace.c, cp-support.c, dummy-frame.c: Update.
* exec.c, gnu-nat.c, go32-nat.c, hppa-tdep.c, infcmd.c: Update.
* infrun.c, interps.c, macrocmd.c, maint.c, memattr.c: Update.
* mips-tdep.c, ocd.c, osabi.c, printcmd.c, regcache.c: Update.
* reggroups.c, remote-fileio.c, remote-rdi.c, remote.c: Update.
* sol-thread.c, source.c, stack.c, symfile-mem.c: Update.
* symfile.c, thread.c, tracepoint.c, valprint.c, value.c: Update.
* win32-nat.c, cli/cli-cmds.c, cli/cli-dump.c: Update.
* cli/cli-logging.c, tui/tui-regs.c: Update.
2005-02-15 02:10:11 +08:00
|
|
|
|
`target core' and `detach' commands."), &cmdlist);
|
2002-03-06 14:28:35 +08:00
|
|
|
|
set_cmd_completer (c, filename_completer);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
2005-02-17 Andrew Cagney <cagney@gnu.org>
* cli/cli-decode.c (add_setshow_cmd_full, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd): Delete
fprint_setshow parameter.
* command.h (fprint_setshow_ftype): Delete.
(add_setshow_cmd_full, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd): Delete
fprint_setshow parameter.
* aix-thread.c, alpha-tdep.c, arm-tdep.c, breakpoint.c: Update.
* complaints.c, cris-tdep.c, dwarf2read.c, frame.c: Update.
* hppa-tdep.c, infcall.c, m32r-rom.c, maint.c: Update.
* mips-tdep.c, nto-tdep.c, observer.c, remote-rdi.c: Update
* remote.c, target.c, cli/cli-logging.c: Update.
2005-02-17 23:00:36 +08:00
|
|
|
|
|
|
|
|
|
add_setshow_string_noescape_cmd ("gnutarget", class_files,
|
|
|
|
|
&gnutarget_string, _("(\
|
|
|
|
|
Set the current BFD target."), _("\
|
|
|
|
|
Show the current BFD target."), _("\
|
|
|
|
|
Use `set gnutarget auto' to specify automatic detection."),
|
|
|
|
|
set_gnutarget_command,
|
2005-02-24 Andrew Cagney <cagney@gnu.org>
Add show_VARIABLE functions, update add_setshow call.
* varobj.c (_initialize_varobj, show_varobjdebug): Add and update.
* valprint.c (_initialize_valprint, show_print_max)
(show_stop_print_at_null, show_repeat_count_threshold)
(show_prettyprint_structs, show_unionprint)
(show_prettyprint_arrays, show_addressprint, show_input_radix)
(show_output_radix): Ditto.
* valops.c (_initialize_valops, show_overload_resolution): Ditto.
* utils.c (initialize_utils, show_chars_per_line)
(show_lines_per_page, show_demangle, show_pagination_enabled)
(show_sevenbit_strings, show_asm_demangle): Ditto
* tui/tui-win.c (_initialize_tui_win, show_tui_border_kind)
(show_tui_border_mode, show_tui_active_border_mode): Ditto.
* top.c (init_main, show_new_async_prompt)
(show_async_command_editing_p, show_write_history_p)
(show_history_size, show_history_filename, show_caution)
(show_annotation_level, init_main): Ditto.
* target.c (initialize_targets, show_targetdebug)
(show_trust_readonly): Ditto.
* symfile.c (_initialize_symfile, show_symbol_reloading)
(show_ext_args, show_download_write_size)
(show_debug_file_directory): Ditto.
* source.c (_initialize_source, show_lines_to_list): Ditto.
* solib.c (_initialize_solib, show_auto_solib_add)
(show_solib_search_path): Ditto.
* p-valprint.c (_initialize_pascal_valprint)
(show_pascal_static_field_print): Ditto.
* printcmd.c (_initialize_printcmd, show_max_symbolic_offset)
(show_print_symbol_filename): Add and update.
* parse.c (_initialize_parse, show_expressiondebug): Dito.
* observer.c (_initialize_observer, show_observer_debug): Dito.
* maint.c (_initialize_maint_cmds, show_watchdog)
(show_maintenance_profile_p): Dito.
* linux-nat.c (_initialize_linux_nat, show_debug_linux_nat): Dito.
* infrun.c (_initialize_infrun, show_debug_infrun)
(show_stop_on_solib_events, show_follow_fork_mode_string)
(show_scheduler_mode, show_step_stop_if_no_debug): Ditto.
* infcall.c (_initialize_infcall, show_coerce_float_to_double_p)
(show_unwind_on_signal_p): Ditto.
* gdbtypes.c (build_gdbtypes, show_opaque_type_resolution)
(_initialize_gdbtypes, show_overload_debug): Ditto.
* gdb-events.c, gdb-events.sh (_initialize_gdb_events)
(show_gdb_events_debug): Ditto.
* gdbarch.c, gdbarch.sh (show_gdbarch_debug)
(_initialize_gdbarch): Ditto.
* frame.c (_initialize_frame, show_backtrace_past_main)
(show_backtrace_past_entry, show_backtrace_limit)
(show_frame_debug): Ditto.
* exec.c (_initialize_exec, show_write_files): Ditto.
* dwarf2read.c (_initialize_dwarf2_read)
(show_dwarf2_max_cache_age): Ditto.
* demangle.c (_initialize_demangler)
(show_demangling_style_names): Ditto.
* dcache.c (_initialize_dcache, show_dcache_enabled_p): Ditto.
* cp-valprint.c (show_static_field_print)
(_initialize_cp_valprint, show_vtblprint, show_objectprint): Ditto.
* corefile.c (_initialize_core, show_gnutarget_string): Ditto.
* cli/cli-logging.c (_initialize_cli_logging)
(show_logging_overwrite, show_logging_redirect)
(show_logging_filename): Ditto.
* cli/cli-cmds.c (show_info_verbose, show_history_expansion_p)
(init_cli_cmds, show_baud_rate, show_remote_debug)
(show_remote_timeout, show_max_user_call_depth): Ditto.
* charset.c (show_host_charset_name, show_target_charset_name)
(initialize_charset): Ditto.
* breakpoint.c (show_can_use_hw_watchpoints)
(show_pending_break_support, _initialize_breakpoint): Ditto.
2005-02-24 21:51:36 +08:00
|
|
|
|
show_gnutarget_string,
|
2005-02-17 Andrew Cagney <cagney@gnu.org>
* cli/cli-decode.c (add_setshow_cmd_full, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd): Delete
fprint_setshow parameter.
* command.h (fprint_setshow_ftype): Delete.
(add_setshow_cmd_full, add_setshow_enum_cmd)
(add_setshow_auto_boolean_cmd, add_setshow_boolean_cmd)
(add_setshow_filename_cmd, add_setshow_string_cmd)
(add_setshow_uinteger_cmd, add_setshow_zinteger_cmd): Delete
fprint_setshow parameter.
* aix-thread.c, alpha-tdep.c, arm-tdep.c, breakpoint.c: Update.
* complaints.c, cris-tdep.c, dwarf2read.c, frame.c: Update.
* hppa-tdep.c, infcall.c, m32r-rom.c, maint.c: Update.
* mips-tdep.c, nto-tdep.c, observer.c, remote-rdi.c: Update
* remote.c, target.c, cli/cli-logging.c: Update.
2005-02-17 23:00:36 +08:00
|
|
|
|
&setlist, &showlist);
|
1999-04-16 09:35:26 +08:00
|
|
|
|
|
|
|
|
|
if (getenv ("GNUTARGET"))
|
|
|
|
|
set_gnutarget (getenv ("GNUTARGET"));
|
|
|
|
|
else
|
|
|
|
|
set_gnutarget ("auto");
|
|
|
|
|
}
|