2000-05-22 H.J. Lu <hjl@gnu.org>
[deliverable/binutils-gdb.git] / gdb / corefile.c
index ce897e1c243615bd57a72fb2e4173e75367791cd..ccf439eacc1aeba867c0cbc941f401ec903c4eeb 100644 (file)
@@ -1,5 +1,5 @@
 /* Core dump and executable file functions above target vector, for GDB.
-   Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994
+   Copyright 1986, 1987, 1989, 1991-1994, 2000
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -90,7 +90,7 @@ core_file_command (filename, from_tty)
            symfile = t->to_core_file_to_sym_file (filename);
            if (symfile)
              {
-               char *symfile_copy = strdup (symfile);
+               char *symfile_copy = xstrdup (symfile);
 
                make_cleanup (free, symfile_copy);
                symbol_file_command (symfile_copy, from_tty);
@@ -185,7 +185,7 @@ reopen_exec_file ()
     return;
 
   /* If the timestamp of the exec file has changed, reopen it. */
-  filename = strdup (bfd_get_filename (exec_bfd));
+  filename = xstrdup (bfd_get_filename (exec_bfd));
   make_cleanup (free, filename);
   mtime = bfd_get_mtime (exec_bfd);
   res = stat (filename, &st);
@@ -236,25 +236,25 @@ memory_error (status, memaddr)
      int status;
      CORE_ADDR memaddr;
 {
+  struct ui_file *tmp_stream = mem_fileopen ();
+  make_cleanup_ui_file_delete (tmp_stream);
+
   if (status == EIO)
     {
       /* Actually, address between memaddr and memaddr + len
          was out of bounds. */
-      error_begin ();
-      printf_filtered ("Cannot access memory at address ");
-      print_address_numeric (memaddr, 1, gdb_stdout);
-      printf_filtered (".\n");
-      return_to_top_level (RETURN_ERROR);
+      fprintf_unfiltered (tmp_stream, "Cannot access memory at address ");
+      print_address_numeric (memaddr, 1, tmp_stream);
     }
   else
     {
-      error_begin ();
-      printf_filtered ("Error accessing memory address ");
-      print_address_numeric (memaddr, 1, gdb_stdout);
-      printf_filtered (": %s.\n",
+      fprintf_filtered (tmp_stream, "Error accessing memory address ");
+      print_address_numeric (memaddr, 1, tmp_stream);
+      fprintf_filtered (tmp_stream, ": %s.",
                       safe_strerror (status));
-      return_to_top_level (RETURN_ERROR);
     }
+
+  error_stream (tmp_stream);
 }
 
 /* Same as target_read_memory, but report an error if can't read.  */
@@ -270,26 +270,12 @@ 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;
+     unsigned int len;
      disassemble_info *info;
 {
   return target_read_memory (memaddr, (char *) myaddr, len);
This page took 0.024173 seconds and 4 git commands to generate.