X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fcorefile.c;h=498628c5af6a06dba87b76ca6fec6c32a4c289c3;hb=2f4fcf00399bc0ad5a4fed6b530128e8be4f40da;hp=0996f9c02121ae76859c0793d20adf5f173fbeb2;hpb=0638b7f90293ac01233dc6406e4c9d5da0ed9e24;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/corefile.c b/gdb/corefile.c index 0996f9c021..498628c5af 100644 --- a/gdb/corefile.c +++ b/gdb/corefile.c @@ -1,6 +1,6 @@ /* Core dump and executable file functions above target vector, for GDB. - Copyright (C) 1986-2017 Free Software Foundation, Inc. + Copyright (C) 1986-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -30,12 +30,9 @@ #include "dis-asm.h" #include #include "completer.h" -#include "observer.h" +#include "observable.h" #include "cli/cli-utils.h" - -/* Local function declarations. */ - -extern void _initialize_core (void); +#include "gdbarch.h" /* 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 @@ -53,29 +50,6 @@ static hook_type *exec_file_extra_hooks; /* Array of additional hooks. */ static int exec_file_hook_count = 0; /* Size of array. */ -/* Binary file diddling handle for the core file. */ - -bfd *core_bfd = NULL; - -/* corelow.c target. It is never NULL after GDB initialization. */ - -struct target_ops *core_target; - - -/* Backward compatability with old way of specifying core files. */ - -void -core_file_command (char *filename, int from_tty) -{ - dont_repeat (); /* Either way, seems bogus. */ - - gdb_assert (core_target != NULL); - - if (!filename) - (core_target->to_detach) (core_target, filename, from_tty); - else - (core_target->to_open) (filename, from_tty); -} /* If there are two or more functions that wish to hook into @@ -165,9 +139,9 @@ validate_files (void) } } -/* See common/common-inferior.h. */ +/* See gdbsupport/common-inferior.h. */ -char * +const char * get_exec_file (int err) { if (exec_filename) @@ -177,7 +151,6 @@ get_exec_file (int err) error (_("No executable file specified.\n\ Use the \"file\" or \"exec-file\" command.")); - return NULL; } @@ -241,8 +214,7 @@ read_memory_object (enum target_object object, CORE_ADDR memaddr, enum target_xfer_status status; ULONGEST xfered_len; - status = target_xfer_partial (current_target.beneath, - object, NULL, + status = target_xfer_partial (current_top_target (), object, NULL, myaddr + xfered, NULL, memaddr + xfered, len - xfered, &xfered_len); @@ -412,7 +384,7 @@ write_memory_with_notification (CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len) { write_memory (memaddr, myaddr, len); - observer_notify_memory_changed (current_inferior (), memaddr, len, myaddr); + gdb::observers::memory_changed.notify (current_inferior (), memaddr, len, myaddr); } /* Store VALUE at ADDR in the inferior as a LEN-byte unsigned @@ -456,11 +428,8 @@ show_gnutarget_string (struct ui_file *file, int from_tty, _("The current BFD target is \"%s\".\n"), value); } -static void set_gnutarget_command (char *, int, - struct cmd_list_element *); - static void -set_gnutarget_command (char *ignore, int from_tty, +set_gnutarget_command (const char *ignore, int from_tty, struct cmd_list_element *c) { char *gend = gnutarget_string + strlen (gnutarget_string); @@ -516,6 +485,7 @@ _initialize_core (void) c = add_cmd ("core-file", class_files, core_file_command, _("\ Use FILE as core dump for examining memory and registers.\n\ +Usage: core-file FILE\n\ No arg means have no core file. This command has been superseded by the\n\ `target core' and `detach' commands."), &cmdlist); set_cmd_completer (c, filename_completer);