]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/corefile.c
* arch-utils.c (#include "gdbthread.h"): Removed.
[thirdparty/binutils-gdb.git] / gdb / corefile.c
index 93e23743124002311b2783de488e7b044d3e21d0..716bb04735ae82db26b764087805bd2fde8b22a9 100644 (file)
@@ -1,5 +1,6 @@
 /* Core dump and executable file functions above target vector, for GDB.
-   Copyright 1986, 1987, 1989, 1991-1994, 2000
+   Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1996, 1997, 1998,
+   1999, 2000, 2001
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -24,7 +25,6 @@
 #include <errno.h>
 #include <signal.h>
 #include <fcntl.h>
-#include "frame.h"             /* required by inferior.h */
 #include "inferior.h"
 #include "symtab.h"
 #include "command.h"
 #include "target.h"
 #include "gdbcore.h"
 #include "dis-asm.h"
-#include "language.h"
 #include "gdb_stat.h"
-#include "symfile.h"
-#include "objfiles.h"
 
 /* Local function declarations.  */
 
-extern void _initialize_core PARAMS ((void));
-static void call_extra_exec_file_hooks PARAMS ((char *filename));
+extern void _initialize_core (void);
+static void call_extra_exec_file_hooks (char *filename);
 
 /* 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.
@@ -51,7 +48,7 @@ static void call_extra_exec_file_hooks PARAMS ((char *filename));
    old code that assumed that only one hook could be set, and which called
    exec_file_display_hook directly.  */
 
-typedef void (*hook_type) PARAMS ((char *));
+typedef void (*hook_type) (char *);
 
 hook_type exec_file_display_hook;      /* the original hook */
 static hook_type *exec_file_extra_hooks;       /* array of additional hooks */
@@ -65,9 +62,7 @@ bfd *core_bfd = NULL;
 /* Backward compatability with old way of specifying core files.  */
 
 void
-core_file_command (filename, from_tty)
-     char *filename;
-     int from_tty;
+core_file_command (char *filename, int from_tty)
 {
   struct target_ops *t;
 
@@ -92,8 +87,8 @@ core_file_command (filename, from_tty)
              {
                char *symfile_copy = xstrdup (symfile);
 
-               make_cleanup (free, symfile_copy);
-               symbol_file_command (symfile_copy, from_tty);
+               make_cleanup (xfree, symfile_copy);
+               symbol_file_add_main (symfile_copy, from_tty);
              }
            else
              warning ("Unknown symbols for '%s'; use the 'symbol-file' command.", filename);
@@ -110,8 +105,7 @@ core_file_command (filename, from_tty)
  * this function will call all of the hook functions. */
 
 static void
-call_extra_exec_file_hooks (filename)
-     char *filename;
+call_extra_exec_file_hooks (char *filename)
 {
   int i;
 
@@ -123,8 +117,7 @@ call_extra_exec_file_hooks (filename)
    This is called from the x-window display code.  */
 
 void
-specify_exec_file_hook (hook)
-     void (*hook) PARAMS ((char *));
+specify_exec_file_hook (void (*hook) (char *))
 {
   hook_type *new_array;
 
@@ -160,7 +153,7 @@ specify_exec_file_hook (hook)
    be reopened.  */
 
 void
-close_exec_file ()
+close_exec_file (void)
 {
 #if 0                          /* FIXME */
   if (exec_bfd)
@@ -169,7 +162,7 @@ close_exec_file ()
 }
 
 void
-reopen_exec_file ()
+reopen_exec_file (void)
 {
 #if 0                          /* FIXME */
   if (exec_bfd)
@@ -186,12 +179,14 @@ reopen_exec_file ()
 
   /* If the timestamp of the exec file has changed, reopen it. */
   filename = xstrdup (bfd_get_filename (exec_bfd));
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
   mtime = bfd_get_mtime (exec_bfd);
   res = stat (filename, &st);
 
   if (mtime && mtime != st.st_mtime)
-    exec_file_command (filename, 0);
+    {
+      exec_open (filename, 0);
+    }
 #endif
 }
 \f
@@ -199,7 +194,7 @@ reopen_exec_file ()
    print a warning if they don't go together.  */
 
 void
-validate_files ()
+validate_files (void)
 {
   if (exec_bfd && core_bfd)
     {
@@ -215,8 +210,7 @@ validate_files ()
    otherwise return 0 in that case.  */
 
 char *
-get_exec_file (err)
-     int err;
+get_exec_file (int err)
 {
   if (exec_bfd)
     return bfd_get_filename (exec_bfd);
@@ -232,9 +226,7 @@ Use the \"file\" or \"exec-file\" command.");
 /* Report a memory error with error().  */
 
 void
-memory_error (status, memaddr)
-     int status;
-     CORE_ADDR memaddr;
+memory_error (int status, CORE_ADDR memaddr)
 {
   struct ui_file *tmp_stream = mem_fileopen ();
   make_cleanup_ui_file_delete (tmp_stream);
@@ -259,10 +251,7 @@ memory_error (status, memaddr)
 
 /* Same as target_read_memory, but report an error if can't read.  */
 void
-read_memory (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     char *myaddr;
-     int len;
+read_memory (CORE_ADDR memaddr, char *myaddr, int len)
 {
   int status;
   status = target_read_memory (memaddr, myaddr, len);
@@ -270,56 +259,31 @@ read_memory (memaddr, myaddr, len)
     memory_error (status, memaddr);
 }
 
-void
-read_memory_section (memaddr, myaddr, len, bfd_section)
-     CORE_ADDR memaddr;
-     char *myaddr;
-     int len;
-     asection *bfd_section;
-{
-  int status;
-  status = target_read_memory_section (memaddr, myaddr, len, bfd_section);
-  if (status != 0)
-    memory_error (status, memaddr);
-}
-
 /* Like target_read_memory, but slightly different parameters.  */
-
 int
-dis_asm_read_memory (memaddr, myaddr, len, info)
-     bfd_vma memaddr;
-     bfd_byte *myaddr;
-     int len;
-     disassemble_info *info;
+dis_asm_read_memory (bfd_vma memaddr, bfd_byte *myaddr, unsigned int len,
+                    disassemble_info *info)
 {
   return target_read_memory (memaddr, (char *) myaddr, len);
 }
 
 /* Like memory_error with slightly different parameters.  */
 void
-dis_asm_memory_error (status, memaddr, info)
-     int status;
-     bfd_vma memaddr;
-     disassemble_info *info;
+dis_asm_memory_error (int status, bfd_vma memaddr, disassemble_info *info)
 {
   memory_error (status, memaddr);
 }
 
 /* Like print_address with slightly different parameters.  */
 void
-dis_asm_print_address (addr, info)
-     bfd_vma addr;
-     struct disassemble_info *info;
+dis_asm_print_address (bfd_vma addr, struct disassemble_info *info)
 {
   print_address (addr, info->stream);
 }
 
 /* Same as target_write_memory, but report an error if can't write.  */
 void
-write_memory (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     char *myaddr;
-     int len;
+write_memory (CORE_ADDR memaddr, char *myaddr, int len)
 {
   int status;
 
@@ -331,9 +295,7 @@ write_memory (memaddr, myaddr, len)
 /* Read an integer from debugged memory, given address and number of bytes.  */
 
 LONGEST
-read_memory_integer (memaddr, len)
-     CORE_ADDR memaddr;
-     int len;
+read_memory_integer (CORE_ADDR memaddr, int len)
 {
   char buf[sizeof (LONGEST)];
 
@@ -342,9 +304,7 @@ read_memory_integer (memaddr, len)
 }
 
 ULONGEST
-read_memory_unsigned_integer (memaddr, len)
-     CORE_ADDR memaddr;
-     int len;
+read_memory_unsigned_integer (CORE_ADDR memaddr, int len)
 {
   char buf[sizeof (ULONGEST)];
 
@@ -353,10 +313,7 @@ read_memory_unsigned_integer (memaddr, len)
 }
 
 void
-read_memory_string (memaddr, buffer, max_len)
-     CORE_ADDR memaddr;
-     char *buffer;
-     int max_len;
+read_memory_string (CORE_ADDR memaddr, char *buffer, int max_len)
 {
   register char *cp;
   register int i;
@@ -390,17 +347,9 @@ read_memory_string (memaddr, buffer, max_len)
    if the protocol has a less general search function, they can call this
    in the cases it can't handle.  */
 void
-generic_search (len, data, mask, startaddr, increment, lorange, hirange
-               addr_found, data_found)
-     int len;
-     char *data;
-     char *mask;
-     CORE_ADDR startaddr;
-     int increment;
-     CORE_ADDR lorange;
-     CORE_ADDR hirange;
-     CORE_ADDR *addr_found;
-     char *data_found;
+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)
 {
   int i;
   CORE_ADDR curaddr = startaddr;
@@ -430,14 +379,10 @@ char *gnutarget;
 /* Same thing, except it is "auto" not NULL for the default case.  */
 static char *gnutarget_string;
 
-static void set_gnutarget_command
-  PARAMS ((char *, int, struct cmd_list_element *));
+static void set_gnutarget_command (char *, int, struct cmd_list_element *);
 
 static void
-set_gnutarget_command (ignore, from_tty, c)
-     char *ignore;
-     int from_tty;
-     struct cmd_list_element *c;
+set_gnutarget_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
   if (STREQ (gnutarget_string, "auto"))
     gnutarget = NULL;
@@ -447,17 +392,16 @@ set_gnutarget_command (ignore, from_tty, c)
 
 /* Set the gnutarget.  */
 void
-set_gnutarget (newtarget)
-     char *newtarget;
+set_gnutarget (char *newtarget)
 {
   if (gnutarget_string != NULL)
-    free (gnutarget_string);
+    xfree (gnutarget_string);
   gnutarget_string = savestring (newtarget, strlen (newtarget));
   set_gnutarget_command (NULL, 0, NULL);
 }
 
 void
-_initialize_core ()
+_initialize_core (void)
 {
   struct cmd_list_element *c;
   c = add_cmd ("core-file", class_files, core_file_command,