gdb/testsuite/tui: Always dump_screen when asked
[deliverable/binutils-gdb.git] / bfd / irix-core.c
index 3962d08a263a0e6b4fa5ca13e8ce94455d75dca2..80cd5f83a24050b4976b0971ad831641c271b471 100644 (file)
@@ -1,6 +1,5 @@
 /* BFD back-end for Irix core files.
 /* BFD back-end for Irix core files.
-   Copyright 1993, 1994, 1996, 1999, 2001, 2002, 2004
-   Free Software Foundation, Inc.
+   Copyright (C) 1993-2020 Free Software Foundation, Inc.
    Written by Stu Grossman, Cygnus Support.
    Converted to back-end form by Ian Lance Taylor, Cygnus Support
 
    Written by Stu Grossman, Cygnus Support.
    Converted to back-end form by Ian Lance Taylor, Cygnus Support
 
@@ -8,7 +7,7 @@
 
    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
 
    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
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
 
 /* This file can only be compiled on systems which use Irix style core
    files (namely, Irix 4 and Irix 5, so far).  */
 
 
 /* This file can only be compiled on systems which use Irix style core
    files (namely, Irix 4 and Irix 5, so far).  */
 
-#include "bfd.h"
 #include "sysdep.h"
 #include "sysdep.h"
+#include "bfd.h"
 #include "libbfd.h"
 
 #ifdef IRIX_CORE
 #include "libbfd.h"
 
 #ifdef IRIX_CORE
@@ -41,33 +42,18 @@ struct sgi_core_struct
 #define core_signal(bfd) (core_hdr(bfd)->sig)
 #define core_command(bfd) (core_hdr(bfd)->cmd)
 
 #define core_signal(bfd) (core_hdr(bfd)->sig)
 #define core_command(bfd) (core_hdr(bfd)->cmd)
 
+#define irix_core_core_file_matches_executable_p generic_core_file_matches_executable_p
+#define irix_core_core_file_pid _bfd_nocore_core_file_pid
+
 static asection *make_bfd_asection
 static asection *make_bfd_asection
-  PARAMS ((bfd *, const char *, flagword, bfd_size_type, bfd_vma, file_ptr));
-static const bfd_target *irix_core_core_file_p
-  PARAMS ((bfd *));
-static char *irix_core_core_file_failing_command
-  PARAMS ((bfd *));
-static int irix_core_core_file_failing_signal
-  PARAMS ((bfd *));
-static bfd_boolean irix_core_core_file_matches_executable_p
-  PARAMS ((bfd *, bfd *));
-static void swap_abort
-  PARAMS ((void));
-#ifdef CORE_MAGIC64
-static int do_sections64
-  PARAMS ((bfd *, struct coreout *));
-#endif
-static int do_sections
-  PARAMS ((bfd *, struct coreout *));
+  (bfd *, const char *, flagword, bfd_size_type, bfd_vma, file_ptr);
 
 /* Helper function for irix_core_core_file_p:
    32-bit and 64-bit versions.  */
 
 #ifdef CORE_MAGIC64
 static int
 
 /* Helper function for irix_core_core_file_p:
    32-bit and 64-bit versions.  */
 
 #ifdef CORE_MAGIC64
 static int
-do_sections64 (abfd, coreout)
-     bfd * abfd;
-     struct coreout * coreout;
+do_sections64 (bfd *abfd, struct coreout *coreout)
 {
   struct vmap64 vmap;
   char *secname;
 {
   struct vmap64 vmap;
   char *secname;
@@ -75,7 +61,7 @@ do_sections64 (abfd, coreout)
 
   for (i = 0; i < coreout->c_nvmap; i++)
     {
 
   for (i = 0; i < coreout->c_nvmap; i++)
     {
-      val = bfd_bread ((PTR) &vmap, (bfd_size_type) sizeof vmap, abfd);
+      val = bfd_bread (&vmap, (bfd_size_type) sizeof vmap, abfd);
       if (val != sizeof vmap)
        break;
 
       if (val != sizeof vmap)
        break;
 
@@ -115,9 +101,7 @@ do_sections64 (abfd, coreout)
 /* 32-bit version.  */
 
 static int
 /* 32-bit version.  */
 
 static int
-do_sections (abfd, coreout)
-     bfd * abfd;
-     struct coreout *coreout;
+do_sections (bfd *abfd, struct coreout *coreout)
 {
   struct vmap vmap;
   char *secname;
 {
   struct vmap vmap;
   char *secname;
@@ -125,7 +109,7 @@ do_sections (abfd, coreout)
 
   for (i = 0; i < coreout->c_nvmap; i++)
     {
 
   for (i = 0; i < coreout->c_nvmap; i++)
     {
-      val = bfd_bread ((PTR) &vmap, (bfd_size_type) sizeof vmap, abfd);
+      val = bfd_bread (&vmap, (bfd_size_type) sizeof vmap, abfd);
       if (val != sizeof vmap)
        break;
 
       if (val != sizeof vmap)
        break;
 
@@ -152,7 +136,7 @@ do_sections (abfd, coreout)
        continue;
 
       if (!make_bfd_asection (abfd, secname,
        continue;
 
       if (!make_bfd_asection (abfd, secname,
-                             SEC_ALLOC | SEC_LOAD+SEC_HAS_CONTENTS,
+                             SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS,
                              vmap.v_len, vmap.v_vaddr, vmap.v_offset))
        /* Fail.  */
        return 0;
                              vmap.v_len, vmap.v_vaddr, vmap.v_offset))
        /* Fail.  */
        return 0;
@@ -161,22 +145,20 @@ do_sections (abfd, coreout)
 }
 
 static asection *
 }
 
 static asection *
-make_bfd_asection (abfd, name, flags, _raw_size, vma, filepos)
-     bfd *abfd;
-     const char *name;
-     flagword flags;
-     bfd_size_type _raw_size;
-     bfd_vma vma;
-     file_ptr filepos;
+make_bfd_asection (bfd *abfd,
+                  const char *name,
+                  flagword flags,
+                  bfd_size_type size,
+                  bfd_vma vma,
+                  file_ptr filepos)
 {
   asection *asect;
 
 {
   asection *asect;
 
-  asect = bfd_make_section_anyway (abfd, name);
+  asect = bfd_make_section_anyway_with_flags (abfd, name, flags);
   if (!asect)
     return NULL;
 
   if (!asect)
     return NULL;
 
-  asect->flags = flags;
-  asect->_raw_size = _raw_size;
+  asect->size = size;
   asect->vma = vma;
   asect->filepos = filepos;
   asect->alignment_power = 4;
   asect->vma = vma;
   asect->filepos = filepos;
   asect->alignment_power = 4;
@@ -185,15 +167,14 @@ make_bfd_asection (abfd, name, flags, _raw_size, vma, filepos)
 }
 
 static const bfd_target *
 }
 
 static const bfd_target *
-irix_core_core_file_p (abfd)
-     bfd *abfd;
+irix_core_core_file_p (bfd *abfd)
 {
   int val;
   struct coreout coreout;
   struct idesc *idg, *idf, *ids;
   bfd_size_type amt;
 
 {
   int val;
   struct coreout coreout;
   struct idesc *idg, *idf, *ids;
   bfd_size_type amt;
 
-  val = bfd_bread ((PTR) &coreout, (bfd_size_type) sizeof coreout, abfd);
+  val = bfd_bread (&coreout, (bfd_size_type) sizeof coreout, abfd);
   if (val != sizeof coreout)
     {
       if (bfd_get_error () != bfd_error_system_call)
   if (val != sizeof coreout)
     {
       if (bfd_get_error () != bfd_error_system_call)
@@ -273,37 +254,32 @@ irix_core_core_file_p (abfd)
 }
 
 static char *
 }
 
 static char *
-irix_core_core_file_failing_command (abfd)
-     bfd *abfd;
+irix_core_core_file_failing_command (bfd *abfd)
 {
   return core_command (abfd);
 }
 
 static int
 {
   return core_command (abfd);
 }
 
 static int
-irix_core_core_file_failing_signal (abfd)
-     bfd *abfd;
+irix_core_core_file_failing_signal (bfd *abfd)
 {
   return core_signal (abfd);
 }
 
 {
   return core_signal (abfd);
 }
 
-static bfd_boolean
-irix_core_core_file_matches_executable_p (core_bfd, exec_bfd)
-     bfd *core_bfd, *exec_bfd;
-{
-  return TRUE;                 /* XXX - FIXME */
-}
-
 /* If somebody calls any byte-swapping routines, shoot them.  */
 static void
 /* If somebody calls any byte-swapping routines, shoot them.  */
 static void
-swap_abort()
+swap_abort(void)
 {
   abort(); /* This way doesn't require any declaration for ANSI to fuck up */
 }
 {
   abort(); /* This way doesn't require any declaration for ANSI to fuck up */
 }
+
 #define        NO_GET ((bfd_vma (*) (const void *)) swap_abort)
 #define        NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
 #define        NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
 #define        NO_GET ((bfd_vma (*) (const void *)) swap_abort)
 #define        NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
 #define        NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
+#define        NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
+#define        NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
+#define        NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
 
 
-const bfd_target irix_core_vec =
+const bfd_target core_irix_vec =
   {
     "irix-core",
     bfd_target_unknown_flavour,
   {
     "irix-core",
     bfd_target_unknown_flavour,
@@ -313,29 +289,34 @@ const bfd_target irix_core_vec =
      HAS_LINENO | HAS_DEBUG |
      HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
      HAS_LINENO | HAS_DEBUG |
      HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED),
     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
-    0,                                                    /* symbol prefix */
+    0,                                                    /* symbol prefix */
     ' ',                                                  /* ar_pad_char */
     16,                                                           /* ar_max_namelen */
     ' ',                                                  /* ar_pad_char */
     16,                                                           /* ar_max_namelen */
-    NO_GET, NO_GETS, NO_PUT,           /* 64 bit data */
+    0,                                                    /* match_priority */
+    NO_GET64, NO_GETS64, NO_PUT64,     /* 64 bit data */
     NO_GET, NO_GETS, NO_PUT,           /* 32 bit data */
     NO_GET, NO_GETS, NO_PUT,           /* 16 bit data */
     NO_GET, NO_GETS, NO_PUT,           /* 32 bit data */
     NO_GET, NO_GETS, NO_PUT,           /* 16 bit data */
-    NO_GET, NO_GETS, NO_PUT,           /* 64 bit hdrs */
+    NO_GET64, NO_GETS64, NO_PUT64,     /* 64 bit hdrs */
     NO_GET, NO_GETS, NO_PUT,           /* 32 bit hdrs */
     NO_GET, NO_GETS, NO_PUT,           /* 16 bit hdrs */
 
     {                          /* bfd_check_format */
     NO_GET, NO_GETS, NO_PUT,           /* 32 bit hdrs */
     NO_GET, NO_GETS, NO_PUT,           /* 16 bit hdrs */
 
     {                          /* bfd_check_format */
-     _bfd_dummy_target,                /* unknown format */
-     _bfd_dummy_target,                /* object file */
-     _bfd_dummy_target,                /* archive */
-     irix_core_core_file_p     /* a core file */
+      _bfd_dummy_target,               /* unknown format */
+      _bfd_dummy_target,               /* object file */
+      _bfd_dummy_target,               /* archive */
+      irix_core_core_file_p            /* a core file */
     },
     {                          /* bfd_set_format */
     },
     {                          /* bfd_set_format */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
     {                          /* bfd_write_contents */
     },
     {                          /* bfd_write_contents */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error,
+      _bfd_bool_bfd_false_error
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -350,7 +331,7 @@ const bfd_target irix_core_vec =
 
     NULL,
 
 
     NULL,
 
-    (PTR) 0                    /* backend_data */
-};
+    NULL                       /* backend_data */
+  };
 
 #endif /* IRIX_CORE */
 
 #endif /* IRIX_CORE */
This page took 0.039347 seconds and 4 git commands to generate.