* configure.tgt: Set targ_emul to arm_wince_pe for ARM Windows CE targets.
[deliverable/binutils-gdb.git] / bfd / irix-core.c
index 1dd35fe75071b8c420037b4ce5b2824129822fae..17b6e1ca948beb65111449ef7665409f7b10325e 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD back-end for Irix core files.
-   Copyright 1993, 1994, 1996, 1999, 2001, 2002
+   Copyright 1993, 1994, 1996, 1999, 2001, 2002, 2004, 2006
    Free Software Foundation, Inc.
    Written by Stu Grossman, Cygnus Support.
    Converted to back-end form by Ian Lance Taylor, Cygnus Support
@@ -18,7 +18,7 @@
 
    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).  */
@@ -41,33 +41,17 @@ struct sgi_core_struct
 #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
+
 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
-do_sections64 (abfd, coreout)
-     bfd * abfd;
-     struct coreout * coreout;
+do_sections64 (bfd *abfd, struct coreout *coreout)
 {
   struct vmap64 vmap;
   char *secname;
@@ -115,9 +99,7 @@ do_sections64 (abfd, coreout)
 /* 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;
@@ -152,7 +134,7 @@ do_sections (abfd, coreout)
        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;
@@ -161,22 +143,20 @@ do_sections (abfd, coreout)
 }
 
 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;
 
-  asect = bfd_make_section_anyway (abfd, name);
+  asect = bfd_make_section_anyway_with_flags (abfd, name, flags);
   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;
@@ -185,8 +165,7 @@ make_bfd_asection (abfd, name, flags, _raw_size, vma, filepos)
 }
 
 static const bfd_target *
-irix_core_core_file_p (abfd)
-     bfd *abfd;
+irix_core_core_file_p (bfd *abfd)
 {
   int val;
   struct coreout coreout;
@@ -273,36 +252,30 @@ irix_core_core_file_p (abfd)
 }
 
 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
-irix_core_core_file_failing_signal (abfd)
-     bfd *abfd;
+irix_core_core_file_failing_signal (bfd *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
-swap_abort()
+swap_abort(void)
 {
   abort(); /* This way doesn't require any declaration for ANSI to fuck up */
 }
-#define        NO_GET  ((bfd_vma (*) PARAMS ((   const bfd_byte *))) swap_abort )
-#define        NO_PUT  ((void    (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
-#define        NO_SIGNED_GET \
-  ((bfd_signed_vma (*) PARAMS ((const bfd_byte *))) 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 =
   {
@@ -317,26 +290,26 @@ const bfd_target irix_core_vec =
     0,                                                    /* symbol prefix */
     ' ',                                                  /* ar_pad_char */
     16,                                                           /* ar_max_namelen */
-    NO_GET, NO_SIGNED_GET, NO_PUT,     /* 64 bit data */
-    NO_GET, NO_SIGNED_GET, NO_PUT,     /* 32 bit data */
-    NO_GET, NO_SIGNED_GET, NO_PUT,     /* 16 bit data */
-    NO_GET, NO_SIGNED_GET, NO_PUT,     /* 64 bit hdrs */
-    NO_GET, NO_SIGNED_GET, NO_PUT,     /* 32 bit hdrs */
-    NO_GET, NO_SIGNED_GET, NO_PUT,     /* 16 bit hdrs */
+    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_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 */
-     _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_false, bfd_false,
-     bfd_false, bfd_false
+      bfd_false, bfd_false,
+      bfd_false, bfd_false
     },
     {                          /* bfd_write_contents */
-     bfd_false, bfd_false,
-     bfd_false, bfd_false
+      bfd_false, bfd_false,
+      bfd_false, bfd_false
     },
 
     BFD_JUMP_TABLE_GENERIC (_bfd_generic),
@@ -352,6 +325,6 @@ const bfd_target irix_core_vec =
     NULL,
 
     (PTR) 0                    /* backend_data */
-};
+  };
 
 #endif /* IRIX_CORE */
This page took 0.030579 seconds and 4 git commands to generate.